feat(contracts): add portable project-work/v0 contract - #31
Merged
Conversation
Add the portable project-work/v0 contract for ready packets, project state, control records, and an append-only progress ledger. Changes: - Add docs/standards/project-work-contract.md (normative standard, draft) - Add schemas/project-work/v0/ (four schemas, contract.json, README, examples, and structural rejects) - Add docs/decisions/ADR-0008-project-work-contract.md as proposed - Wire project-work controls and the contract manifest into make check - Index the standard and ADR; note the family under Unreleased Generated by Grok 4.6 via Grok Build under supervision of @3leapsdave Co-Authored-By: Grok 4.6 <noreply@3leaps.net> Role: devlead Committer-of-Record: @3leapsdave
Reserve contract-governed transition keys by event kind and close kind-specific control-record fields. Changes: - created forbids from/to; transition events forbid lifecycle_class - status/blocker/decision close fields owned by other kinds - Add focused reject fixtures and reject-index rows Generated by Grok 4.6 via Grok Build under supervision of @3leapsdave Co-Authored-By: Grok 4.6 <noreply@3leaps.net> Role: devlead Committer-of-Record: @3leapsdave
Tighten already-declared project-work/v0 semantics: milestone target dates are asserted real ISO-8601 dates, and decisions own a non-empty unique affects list that status and blocker records forbid. Changes: - Assert format: date on project-state.milestones[].target - Require non-empty unique affects on decision records; forbid it on status and blocker records - Document milestone date and decision affects in the standard and schema - Add focused rejects (impossible date; missing/empty/duplicate affects; status and blocker cross-kind) and index them - Add a valid decision example and wire project-state rejects into the control script Generated by Grok 4.6 via Grok Build under supervision of @3leapsdave Co-Authored-By: Grok 4.6 <noreply@3leaps.net> Role: devlead Committer-of-Record: @3leapsdave
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Adds the portable
project-work/v0contract family: ready packets, an inspectable project-state projection, control records, and an append-only NDJSON progress ledger.docs/standards/project-work-contract.md(draft) and proposed ADR.schemas/project-work/v0/with a contract manifest, worked examples, and structural rejects.make check; milestone target dates are asserted real ISO-8601 dates; decision records own a non-empty, uniqueaffectslist that status and blocker records forbid.Verification:
make precommitand the project-work control battery are green.Generated by Grok 4.6 via Grok Build under supervision of @3leapsdave
Co-Authored-By: Grok 4.6 noreply@3leaps.net
Role: devlead
Committer-of-Record: @3leapsdave