Skip to content

Update intake extension structured IR contracts#44

Merged
bigsmartben merged 1 commit into
mainfrom
community/update-intake-contracts
Jul 1, 2026
Merged

Update intake extension structured IR contracts#44
bigsmartben merged 1 commit into
mainfrom
community/update-intake-contracts

Conversation

@bigsmartben

@bigsmartben bigsmartben commented Jul 1, 2026

Copy link
Copy Markdown
Owner

Summary

  • Update bundled intake extension contracts to include structured UI acceptance IR.
  • Add /speckit.intake.ir command, structured IR schemas, evidence packet template, and validator.
  • Refresh intake docs/catalog metadata and community defaults for the new command.

Community submission metadata

Submission route: pr-template
Catalog type: extension
Maintainer direct PR approval: bigsmartben/spec-kit-intake#2
Source repository: https://github.com/bigsmartben/spec-kit-intake
Source version: 0.1.3
Source commit: f87d4c1667bdba744aadf5a7e827233f41d638ad
Download URL: https://github.com/bigsmartben/spec-kit-intake/archive/refs/tags/v0.1.3.zip
Changed catalog type: extension
Validation evidence:

  • .venv\Scripts\python.exe -m pytest extensions\intake\tests\test_extension_contract.py -q
  • .venv\Scripts\python.exe extensions\intake\scripts\python\validate_structured_ir_intake.py --help

Downstream context

Notes

This keeps structured IR owned by the Intake extension as provider-neutral evidence. Downstream workflow-preset consumes refs/readiness but does not own visual validation tasks.

@bigsmartben bigsmartben force-pushed the community/update-intake-contracts branch from 66b7b90 to a76d8ad Compare July 1, 2026 07:58

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 66b7b908d8

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment on lines +363 to +364
elif status == "ready":
non_ci_assertions.append(assertion_id)

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

P2 Badge Do not fail allowed manual-review assertions

When an IR bundle has at least one ready ci_low_cost assertion plus a separate ready manual_review assertion, this branch records the manual-review assertion as non_ci_assertions and the later readiness check fails the whole bundle with IR_ASSERTION_COVERAGE_INCOMPLETE. The structured IR contract allows manual-review assertions as explicit evidence; they just must not satisfy CI readiness, so this should only require at least one ready low-cost CI assertion rather than blocking additional manual-review evidence.

Useful? React with 👍 / 👎.

Comment on lines +416 to +418
for ir_ref in assertion.get("ir_refs") or []:
if ir_ref not in ir_ids:
missing_refs.append(str(ir_ref))

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

P2 Badge Guard scalar IR refs before iterating

If ir-assertions.yaml is schema-invalid because an assertion has a scalar ir_refs value such as 123, schema validation records IR_SCHEMA_INVALID but validation continues into this loop and attempts to iterate the scalar, raising TypeError before emit() can return the blocker/JSON result. This makes malformed user artifacts crash the validator instead of reporting the schema blocker; check that ir_refs is a list before iterating or skip cross-reference checks after schema failure.

Useful? React with 👍 / 👎.

},
"provides": {
"commands": 4,
"commands": 5,

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

P2 Badge Publish a new release before advertising five commands

This catalog entry now advertises five Intake commands and the structured-IR capability, but the surrounding metadata still points consumers at version/download_url v0.1.3 while the extension changelog keeps the new IR command under Unreleased. Users installing from the catalog URL will fetch the old release archive without speckit.intake.ir, so the catalog should be updated to a source release that actually contains the fifth command or keep the command count at the released artifact's contents.

Useful? React with 👍 / 👎.

Assisted-by: Codex (GPT-5, autonomous)
@bigsmartben bigsmartben force-pushed the community/update-intake-contracts branch from a76d8ad to 1a0339a Compare July 1, 2026 08:01
@bigsmartben bigsmartben merged commit a71a125 into main Jul 1, 2026
14 checks passed
@bigsmartben bigsmartben deleted the community/update-intake-contracts branch July 1, 2026 08:07
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