Repository navigation
fix(aidd-context): generate rules through a standalone skill script - #979
Conversation
OpenCode V2 ignores config.instructions, leaving modular rules inactive. Publish a validated contribution in AGENTS.md while preserving user guidance and ownership boundaries. Refs #913 AIDD-Session-Id: 01a11d17-ccfd-7c83-98ac-c1f872b125ed
AIDD-Session-Id: 01a11d17-ccfd-7c83-98ac-c1f872b125ed
…dance Resolve the writer beside the installed skill so native and flat layouts support rule creation, update, publication and deletion without a checkout. Preserve exact requirements and body bytes while keeping shared guidance readable, with reproducible and bounded native validation. Refs #913 AIDD-Session-Id: 01a11d17-ccfd-7c83-98ac-c1f872b125ed
|
Hi @blafourcade, I'm starting work on #914 (Kilo-native generation targets), and I've noticed that this PR introduces a standalone rule writer that overlaps with the rule-generation part of my implementation. My plan is to extend the new writer with Kilo support rather than introduce a separate implementation, particularly for Since this PR is still in Draft, do you have any recommendations on how best to coordinate these changes? Would you suggest waiting for #979 to merge before implementing the rule-generation part of #914, while I work on the other independent generators in the meantime? I'd appreciate your guidance to avoid conflicts or duplicated work. Thanks! |
Prevent ownership and snapshot checks from following a replaced pathname. Exercise descriptor closure, symlink refusal and replacement races. Refs #913
Parse native metadata independently and archive realistic installed-skill and current native-input checks. Correct the Codex project-budget guidance and retain explicit Cursor quota and Copilot retrieval limits. Refs #913
Missing open flags must never silently enable symlink following on Windows. Keep unsupported POSIX scenarios explicit and verify that the real helper refuses before opening a file. Refs #913
|
@waewoo Thanks for coordinating. Yes: please extend the existing rule writer and its tests in #914 rather than introduce a second rule-generation implementation. Reuse its canonical sources, publication lifecycle and ownership/preservation checks, and add the Kilo-specific adapter according to Kilo's official contract. #979 is now ready for review, with all 18 executed CI checks green, and I am merging it into One boundary to keep explicit: the current writer has no Kilo support or JSON/JSONC configuration updater. Any required |
🎯 What & why
Creating a project rule should work from the installed skill and preserve its full content across Claude Code, Cursor, GitHub Copilot, Codex and OpenCode V2. The skill now owns publication without requiring the AIDD CLI, and shared guidance uses readable titles and concise scopes.
🛠️ How it works
The standalone writer accepts explicit JSON metadata and the complete Markdown body. Editable canonical sources live in
aidd_docs/rules/. Claude, Cursor and Copilot receive native files; Codex and OpenCode share a signed contribution in rootAGENTS.md.The skill resolves the writer beside its loaded
SKILL.md, so native and flat installations support create, update, publish and delete. Validation happens before mutation; signatures protect generated outputs, while user guidance, memory, exact literals and body bytes survive. Shared publication omits taxonomy identifiers from added headings, avoids adding a title before a leading ATX/single-line Setext title, and preserves literal glob text.The official Codex contract and OpenCode V2 instructions underpin the active surfaces.
cli/is unchanged from12777d03; the initial CLI coupling and budget increase are removed.🧪 How to verify
node scripts/check-tests-leave-git-alone.js -- node --test 'scripts/__tests__/**/*.test.js': 624 tests pass, including 61 rule-generation tests and nine reproduction-security/capability tests. Native YAML is parsed independently with the existing dependency.Current mock-provider captures prove host input loading, not semantic model enforcement. Historical subscription-model evidence retains its previous writer hash and incomplete Cursor quota-limited control; it is not presented as a complete five-host model test of this revision. A current Cursor Auto attempt also stops on the existing Free quota before an assistant tool call; no upgrade or fallback follows. No complete current five-host model-enforcement pass or Linux/Windows native-host runtime claim.
Codex/OpenCode scopes are model guidance rather than native glob filtering. Mixed hosts may discover both shared and native guidance. The conservative Codex guard cannot measure other project documents or an overridden project-document budget; verified Codex versions assemble global instructions separately from that project counter. Publication preserves bodies without implementing a full Markdown parser.
No automatic legacy migration, multi-file disk-failure rollback or concurrent-writer guarantee. Comma-containing globs are refused; use separate patterns. OpenCode V1, lifecycle synchronization, standalone-rule flat archives (#789) and Kilo (#914) remain outside scope. Archived CRLF fixtures and raw receipts have scoped Git attributes preserving their exact bytes.
🔗 Linked issue
Refs #913. This PR implements the selected V2 contract and the five-host autonomous skill; it does not claim the original V1
configuration.instructions/JSONC criteria.✅ I certify