Skip to content

docs: Document contract task population [doc-updater] - #275

Merged
jwbron merged 1 commit into
mainfrom
egg/doc-update-contract-task-population
Feb 8, 2026
Merged

docs: Document contract task population [doc-updater]#275
jwbron merged 1 commit into
mainfrom
egg/doc-update-contract-task-population

Conversation

@james-in-a-box

@james-in-a-box james-in-a-box Bot commented Feb 7, 2026

Copy link
Copy Markdown
Contributor

Update documentation to reflect the new contract task population feature introduced in #274.

Changes

  • STRUCTURE.md: Added populate-contract-tasks.py to the action directory listing
  • action/README.md: Added script entry with description
  • sdlc-pipeline.md:
    • Added "Task Population" section explaining when/how tasks are extracted from plan documents
    • Added script references to "Key Files" table

Context

The populate-contract-tasks.py script was introduced in commit 5f6ccd9 to automate the extraction of tasks from plan documents into contract JSON before the implement phase begins. This bridges the gap between plan approval and implementation by:

  1. Fetching the plan comment from the GitHub issue
  2. Parsing [TASK-X-Y] markers using the plan parser
  3. Populating the contract with phases, tasks, and acceptance criteria
  4. Validating against the contract schema

This is a significant new component in the SDLC pipeline that was not previously documented.

Triggered by: 5f6ccd9

Authored-by: egg

Update documentation to reflect changes from commit 5f6ccd9:
- Added populate-contract-tasks.py to action/ directory listing in STRUCTURE.md
- Added script to action/README.md with description
- Added "Task Population" section in SDLC pipeline guide explaining when/how tasks are extracted from plan documents
- Added script references to "Key Files" table in pipeline guide

The populate-contract-tasks.py script bridges the plan and implement phases by automatically extracting [TASK-X-Y] markers from approved plan documents and populating the contract JSON before implementation begins.

Triggered by: 5f6ccd9

Authored-by: egg

@james-in-a-box james-in-a-box Bot left a comment

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Agent-mode design review: No concerns.

The documented feature (populate-contract-tasks.py) is a pre-processing step that populates structured task data before the implementing agent runs—this is helpful orientation, not problematic pre-fetching. The structured output (contract JSON) is for machine consumption by downstream pipeline steps, which is the appropriate use case per the guidelines.

— Authored by egg

@james-in-a-box

james-in-a-box Bot commented Feb 7, 2026

Copy link
Copy Markdown
Contributor Author

egg agent-mode-design completed. View run logs

@james-in-a-box james-in-a-box Bot left a comment

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Documentation Review

This PR adds documentation for the populate-contract-tasks.py script introduced in #274. I've verified that the referenced files exist and the documentation broadly reflects the actual implementation.

Minor Inaccuracy

In docs/guides/sdlc-pipeline.md, the Task Population section states:

  1. Validates the contract against the JSON schema

This is not precisely accurate. The script uses Pydantic model validation (Contract.model_validate()), not JSON schema validation. While the Pydantic models are designed to match the JSON schema in .egg/schemas/contract.schema.json, they are not the same thing.

Suggested fix:

4. Validates the contract using Pydantic models

Or if you want to keep the JSON schema reference:

4. Validates the contract against the Pydantic models (which correspond to the JSON schema)

This is a minor documentation clarity issue and does not block approval.

Verification

  • action/populate-contract-tasks.py exists in the codebase
  • shared/egg_contracts/plan_parser.py exists in the codebase
  • ✓ The script behavior described matches the actual implementation
  • ✓ File structure additions are placed correctly in alphabetical/logical order
  • ✓ Referenced commit 5f6ccd9 exists and introduces this feature

— Authored by egg

@james-in-a-box james-in-a-box Bot left a comment

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Review Complete

This documentation PR accurately reflects the contract task population feature introduced in #274.

Verification performed:

  • Confirmed action/populate-contract-tasks.py exists and matches the documented behavior
  • Confirmed shared/egg_contracts/plan_parser.py exists
  • Verified the script fetches issue comments, parses [TASK-X-Y] markers, and writes to the contract JSON
  • Checked file structure additions are correctly placed

Finding (non-blocking): See my earlier comment about the "JSON schema" wording. The script uses Pydantic model validation, not JSON schema validation. This is a minor documentation clarity issue.

Recommendation: Ready for merge. The documentation accurately describes the feature's purpose and workflow.

— Authored by egg

@james-in-a-box

james-in-a-box Bot commented Feb 7, 2026

Copy link
Copy Markdown
Contributor Author

egg review completed. View run logs

@james-in-a-box james-in-a-box Bot left a comment

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Review Complete - LGTM

Documentation accurately reflects the contract task population feature introduced in commit 5f6ccd9.

Review notes:

  • ✅ Verified populate-contract-tasks.py exists on main
  • ✅ Verified plan_parser.py exists in shared/egg_contracts/
  • ✅ Documentation correctly describes the workflow (fetch plan → parse → populate → validate)
  • ✅ Key Files table appropriately updated with new script references
  • ✅ STRUCTURE.md listing matches actual directory structure

— Authored by egg

@jwbron
jwbron merged commit ad7d049 into main Feb 8, 2026
12 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant