Skip to content

feat(autonomy): deterministic prerequisite resolver (#2724) - #2796

Closed
kyle-sexton wants to merge 4 commits into
cursor/2723-prereq-emit-8f91from
cursor/2724-prereq-resolver-14fb
Closed

feat(autonomy): deterministic prerequisite resolver (#2724)#2796
kyle-sexton wants to merge 4 commits into
cursor/2723-prereq-emit-8f91from
cursor/2724-prereq-resolver-14fb

Conversation

@kyle-sexton

Copy link
Copy Markdown
Contributor

Closes #2724

Summary

Phase 4 of the routine-capability-detection plan (ADR 0011): deterministic prerequisite resolver that reads the Phase 3 emission and emits per-identity verdicts with provenance on a named scheduling surface.

Fix

  • Resolver skills/setup/scripts/resolve-prerequisites.mjs — repo-file + harness-context probes; composes binding declarations, ecosystems (resolved), tracker seam, .mcp.json presence/enablement.
  • Precedence — declaration narrows; ran-negative probe caps declarations (finding); unprobeable ≠ absent.
  • Seven fixtures under scripts/fixtures/prerequisite-resolution/ + co-located test/manifest (bare-repo, fail-closed, declared-absent-narrows, probe-negative-caps, probe-could-not-run, posture-divergence, positive-verdict).
  • Liveness — engine health-check taxonomy row; fail-loud; wall-clock-free (byte-identical consecutive runs).
  • Version bump to 0.21.0.

Stacked on #2793 (cursor/2723-prereq-emit-8f91).

Verification

$ bash plugins/autonomy/skills/setup/scripts/resolve-prerequisites.fixtures.test.sh
$ bash scripts/check-changelog-parity.sh --check-bump origin/main
$ bash scripts/check-orphaned-fixtures.sh --check
$ bash scripts/check-changed-skills.sh origin/main

Related

cursoragent and others added 3 commits August 16, 2026 00:07
…ft gate (#2723)

Closes #2723

Phase 3 of the routine-capability-detection plan (ADR 0011): derive a
machine-readable identity-prerequisite emission from the ten v1 leaves,
with a --check drift gate matching the catalog generator pattern.

Co-authored-by: Kyle Sexton <kyle-sexton@users.noreply.github.com>
Co-authored-by: Kyle Sexton <kyle-sexton@users.noreply.github.com>
Closes #2724

Phase 4 of the routine-capability-detection plan (ADR 0011): resolve
per-identity verdicts on a named surface from the generated emission,
with precedence fixtures and wall-clock-free output.

Co-authored-by: Kyle Sexton <kyle-sexton@users.noreply.github.com>
@cursor

cursor Bot commented Aug 16, 2026

Copy link
Copy Markdown

Bugbot is not enabled for your account, so this pull request was not reviewed.

Enable Bugbot in the Cursor dashboard to get automatic reviews on future PRs.

Co-authored-by: Kyle Sexton <kyle-sexton@users.noreply.github.com>

@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: eafc7ce18d

ℹ️ 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 thread plugins/autonomy/skills/setup/scripts/resolve-prerequisites.mjs
Comment thread plugins/autonomy/skills/setup/scripts/resolve-prerequisites.mjs
Comment thread plugins/autonomy/skills/setup/scripts/resolve-prerequisites.mjs
@claude

claude Bot commented Aug 16, 2026

Copy link
Copy Markdown

Claude finished @cursor[bot]'s task in 5m 5s —— View job


Code review complete

  • Gather context (PR diff, changed files, CLAUDE.md)
  • Read /review:code-review skill instructions and follow them
  • Review resolve-prerequisites.mjs for correctness/maintainability
  • Review fixtures + test harness
  • Review CHANGELOG/README/plugin.json/version bump
  • Post inline findings and summary

Summary

Reviewed the diff against origin/cursor/2723-prereq-emit-8f91 (the resolver script, its 7 graded fixtures + test harness, and the plugin metadata/CHANGELOG/README updates). This is a well-specified, carefully-tested addition — precedence rules (declaration narrows / ran-negative probe caps / unprobeable ≠ absent) are consistently implemented across every probe* function, need-id coverage in runNeedProbe matches every id present in generated/identity-prerequisites.json, and the fixture assertions line up with the code's actual branch behavior. Note: I could not execute the test suite myself in this sandbox (no shell execution beyond gh/git/read-only tools), so the "Verification" commands in the PR body are author-claimed and unverified by me.

One correctness finding, posted inline:

  • resolve-prerequisites.mjs:826-833aggregateVerdict's results.every((r) => r === "present") is vacuously true on an empty array, so an identity with zero needs resolves to "supported" rather than "unknown". The bundled generate-identity-prerequisites.mjs currently guarantees non-empty needs[], so this isn't reachable through the default emission — but the resolver also accepts an operator-supplied --emission <path> override, and loadEmission doesn't enforce non-empty needs per identity, so a custom emission file can hit this path. Given the resolver's stated fail-closed intent, this seems worth a one-line guard.

No other high-signal issues found in the resolver logic, fixture set, or metadata changes.

Comment thread plugins/autonomy/skills/setup/scripts/resolve-prerequisites.mjs
@github-actions

Copy link
Copy Markdown

Claude has reviewed this PR 1 time. The lane skips further automatic reviews after 5; deleting this comment resets the count.

@cursor
cursor Bot force-pushed the cursor/2723-prereq-emit-8f91 branch from b5ddff0 to 862020e Compare August 16, 2026 00:38
@kyle-sexton
kyle-sexton deleted the branch cursor/2723-prereq-emit-8f91 August 16, 2026 00:56
@kyle-sexton

Copy link
Copy Markdown
Contributor Author

Superseded by #2809 after the stack base was deleted on #2793 squash-merge. No new issue.

kyle-sexton added a commit that referenced this pull request Aug 16, 2026
Closes #2724

## Summary

Replacement for #2796 (auto-closed when stack base was deleted after
#2793 squash-merge). Lands the deterministic prerequisite resolver on
main after #2793.

Closes #2724

## Summary

Phase 4 of the routine-capability-detection plan (ADR 0011):
deterministic prerequisite resolver that reads the Phase 3 emission and
emits per-identity verdicts with provenance on a named scheduling
surface.

## Fix

- **Resolver** `skills/setup/scripts/resolve-prerequisites.mjs` —
repo-file + harness-context probes; composes binding declarations,
ecosystems (resolved), tracker seam, `.mcp.json` presence/enablement.
- **Precedence** — declaration narrows; ran-negative probe caps
declarations (finding); unprobeable ≠ absent.
- **Seven fixtures** under `scripts/fixtures/prerequisite-resolution/` +
co-located test/manifest (bare-repo, fail-closed,
declared-absent-narrows, probe-negative-caps, probe-could-not-run,
posture-divergence, positive-verdict).
- **Liveness** — engine health-check taxonomy row; fail-loud;
wall-clock-free (byte-identical consecutive runs).
- **Version bump** to `0.21.0`.

Stacked on #2793 (`cursor/2723-prereq-emit-8f91`).

## Verification

```text
$ bash plugins/autonomy/skills/setup/scripts/resolve-prerequisites.fixtures.test.sh
$ bash scripts/check-changelog-parity.sh --check-bump origin/main
$ bash scripts/check-orphaned-fixtures.sh --check
$ bash scripts/check-changed-skills.sh origin/main
```

## Related

- ADR 0011; Refs #2685; depends on #2723

## Related

- Continues autonomy stack after #2793; precedes setup-skill slice
(#2725 / former #2804).
- Supersedes closed #2796.

---------

Co-authored-by: Cursor Agent <cursoragent@cursor.com>
Co-authored-by: Kyle Sexton <kyle-sexton@users.noreply.github.com>
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.

2 participants