chore(skills): re-sync vendored .agents/skills to skill-lib@6f36340 - #114
Conversation
Second re-sync round. After the initial sweep (skill-lib@d0f6209), skill-lib PR #39 reworked msdmd/ (SKILL.md, collect.py, collection.ts) and test-build/SKILL.md (the CONTRACTS/CHECKS split). This brings the vendored copies back to verbatim compliance with current canonical (skill-lib@6f36340). - Overlay the drifted canonical msdmd/ and test-build/ directories verbatim; repo-local additions are preserved. - Bump the .agents/skills/README source commit to skill-lib@6f36340. Verified clean with tools/check_consumer_drift.py against skill-lib@6f36340. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01J4hD57ejBTZYsuLKSpoE7P
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 1ff17e32d3
ℹ️ 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".
| `CONTRACTS` obligations; test modules own `CHECKS` evidence that | ||
| claims to prove those obligations. See | ||
| [`test-build/SKILL.md`](../test-build/SKILL.md) and | ||
| [`doctrine/msdmd-checks.md`](../doctrine/msdmd-checks.md). |
There was a problem hiding this comment.
Vendor the referenced doctrine file
This new reference points to ../doctrine/msdmd-checks.md, but the vendored .agents/skills tree does not contain any doctrine/ directory or msdmd-checks.md file (checked with repo-wide search). As a result, both this link and the matching new link in test-build/SKILL.md are dead, so agents following the updated skill docs cannot reach the ratified CHECKS/CONTRACTS doctrine that the text now depends on.
Useful? React with 👍 / 👎.
…-build The re-synced msdmd/SKILL.md and test-build/SKILL.md (skill-lib@6f36340) link to `../doctrine/msdmd-checks.md`, but only the skill directories were vendored, so that relative link resolved to a missing `.agents/skills/doctrine/msdmd-checks.md` -- a dead reference to the ratified CONTRACTS/CHECKS doctrine. Vendor the shared doctrine file alongside the skills so the links resolve. (propagate_skills.py is skills-only and does not carry doctrine/; tracking that gap upstream in skill-lib separately.) Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01J4hD57ejBTZYsuLKSpoE7P
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 673679e9ea
ℹ️ 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".
| `call:` is not a CONTRACTS field in skill-lib. The call belongs to the | ||
| CHECKS entry that owns the executable evidence. |
There was a problem hiding this comment.
Migrate existing CONTRACTS calls before dropping the bridge
This change makes call: invalid in CONTRACTS, but the repo still has four backend contract entries using only call: targets in backend/src/edcmbone_backend/__init__.py:30-53, and rg -n "=== CHECKS ===" finds no CHECKS declarations. In this state an agent/audit following the vendored test-build doctrine will report those existing backend contracts as orphan obligations rather than linked tests, so either migrate the existing tests into CHECKS blocks or keep an explicit compatibility bridge until the repo metadata is updated.
Useful? React with 👍 / 👎.
| def resolve_self_call(spec: str, namespace: dict) -> object: | ||
| if not spec.startswith("self::"): | ||
| raise LookupError(f"only self::fn resolves without execution: {spec}") | ||
| fn = namespace.get(spec[len("self::"):]) | ||
| if not callable(fn): | ||
| raise LookupError(f"not callable: {spec}") |
There was a problem hiding this comment.
Show no-exec resolution without requiring function objects
In the audit mode described here, implementers have to supply namespace with actual callable objects for self::fn to resolve; for a normal test module that means importing or otherwise executing the file to populate globals(), which contradicts the no-exec audit requirement above and can trigger module top-level side effects. If they instead build namespace from a non-executing parse, valid function declarations are not callable and this resolver reports them as unresolved, so the sample should resolve self:: names from parsed function definitions rather than callable objects.
Useful? React with 👍 / 👎.
| CHECKS fields, all consumed: `id`, `proves`, `call`, `requires` | ||
| (runner refuses to execute on hosts missing them), `timeout` (runner | ||
| sets the active subprocess bound per check), `mutates` and `cleanup` | ||
| (danger documentation read by humans deciding when a check may run). |
There was a problem hiding this comment.
Separate human-only fields from consumed CHECKS fields
These lines say all CHECKS fields are consumed, but the same sentence defines mutates and cleanup as danger documentation read by humans, while the field-entry rule below treats declared-but-unread metadata as a defect. A runner author following this doctrine either has to invent machine behavior for those human-only fields or reject the required examples as decorative, so the schema should not list them under “all consumed” unless a runner actually consumes them.
Useful? React with 👍 / 👎.
|
Thanks for the thorough review. Splitting these by class:
So no code changes to this PR beyond the doctrine-file fix already pushed. Generated by Claude Code |
Summary
Second re-sync round. After the initial sweep (skill-lib@d0f6209, merged), skill-lib PR #39 reworked
msdmd/(SKILL.md, collect.py, collection.ts) andtest-build/SKILL.md. This brings the vendored copies back to verbatim compliance with current canonical, skill-lib@6f36340.Changes
msdmd/andtest-build/directories verbatim; repo-local additions (incl. localnew-retain-old/) and themanifest/pin (unchanged) preserved..agents/skills/README.mdsource commit toskill-lib@6f36340.Verification
tools/check_consumer_drift.pyreports clean against skill-lib@6f36340 (0 drifted). No tracked bytecode.🤖 Generated with Claude Code
https://claude.ai/code/session_01J4hD57ejBTZYsuLKSpoE7P
Generated by Claude Code