Skip to content

#1087 Rename the authoring rulebook and mark its enforced rules - #1092

Merged
williamthorsen merged 4 commits into
mainfrom
1087
Jul 28, 2026
Merged

#1087 Rename the authoring rulebook and mark its enforced rules#1092
williamthorsen merged 4 commits into
mainfrom
1087

Conversation

@williamthorsen

@williamthorsen williamthorsen commented Jul 27, 2026

Copy link
Copy Markdown
Owner

What

Renames the rulebook for authoring CodeAssembly skills, subagents, rulebooks, and collections from authoring-guidance to codeassembly-content-specification, which authors now consult through the consult-codeassembly-content-specification skill. Each rule now marks whether violating it breaks the build, fails a test, or carries no automated check because the rule is house style.

Why

authoring-guidance read two ways: as guidance about authoring, which is what the rulebook held, and as the authoring of guidance, which it did not cover. A separate rulebook on writing guidance is planned, which would have made the collision live.

The document also presented a machine-checked contract as house style, leaving an author no way to tell which violations fail a build and which are taste. One check it claimed did not exist at all: a mistyped delivery mode passed validation and shipped the rulebook nowhere, with no error to say so.

Details

♻️ Refactoring

  • The rulebook ships as consult-codeassembly-content-specification, and .agents/PROJECT.md, the package README, and the partials README follow the rename. No reference to the former name survives outside changelog history.
  • ## Enforcement sorts every rule into one of three classes: validated on parse, enforced by test, or convention. The undeclared-sigil case is attributed to the build and the missing-artifact case to the resolver, rather than both to a parse-time error naming the source file.
  • rulebook-schema.ts rejects a delivery value outside ambient and skill, with a message naming the permitted pair.
  • ## Naming records the codeassembly- prefix convention: it marks an artifact governing this repository's own mechanics, and its absence marks content that would apply in any project.

🧪 Tests

  • Rejection coverage for the scalar and list delivery forms, each asserting the message names the permitted values.

Closes #1087

@github-actions

Copy link
Copy Markdown

Dependency audit

Production dependency audit passed.

@williamthorsen williamthorsen self-assigned this Jul 27, 2026
@williamthorsen williamthorsen added refactoring Improvement to code without change in functionality and removed fix Fixes a bug labels Jul 27, 2026
@williamthorsen
williamthorsen marked this pull request as ready for review July 27, 2026 16:37
Renames the `consult-authoring-guidance` skill to `consult-codeassembly-content-specification`. The former name read both as guidance about authoring and as the authoring of guidance; the new one names the declaration contract the rulebook specifies.

The rulebook now states which of its rules are validated when content is loaded and which are convention, so a reader can tell what fails the build from what is house style.

Its naming section records when a `codeassembly-` prefix applies: an artifact governing this repository's own mechanics takes it, and content that would still apply in another project does not.
A rulebook whose `delivery` names anything but `ambient` or `skill` now fails the sync with an error naming the file, rather than parsing cleanly and leaving the rulebook delivered nowhere.

The CodeAssembly content specification sorts every rule it states into three classes: validated on parse, enforced by test, or convention. Its enforcement claims now match the toolchain, covering the two sections that carried no classification and correcting the cases that fail at build time rather than at run time.
A reader checking whether the recommendation-gradient rule is machine-checked now finds the suite that guards it, not only the suite covering the action-items half.
A rulebook declaring an unrecognized `delivery` mode now fails with a message naming the permitted values rather than a bare `Invalid input`.
@williamthorsen
williamthorsen merged commit 115154c into main Jul 28, 2026
5 checks passed
@williamthorsen
williamthorsen deleted the 1087 branch July 28, 2026 19:52
williamthorsen added a commit that referenced this pull request Aug 4, 2026
…e-v0.2.2 codeassembly-v0.4.0 factory-v0.2.2 codeassembly-mcp-v0.2.2

codeassembly-v0.4.0
- #1153 feat: Make codeassembly and kb CLI tools publishable (#1164)
- #1091 fix: Anchor a project-deployed link where its target deploys (#1159)
- #1156 refactor: Rename packages to publishable names (#1157)
- #1152 tooling: Run every test in the default gate, classified by what it reaches (#1155)
- #1110 tooling: Migrate Vitest to nmr's centralized model (#1154)
- refactor: Refine typescript-preferences
- #1150 fix: State doc-description form and make comment mood opt-in (#1151)
- deps: Upgrade first-party linting deps to latest version
- #1137 feat: Establish personal rulebooks for code layout and TypeScript preferences (#1144)
- #1126 feat: Check a package's own guidance content before it ships (#1138)
- refactor: Fix lint
- tooling: Remove redundant lint rules
- #1133 fix: Reject an anchor link that names no heading (#1135)
- #1122 feat: Capture lede decisions as an accumulating corpus (#1132)
- #1125 feat: Honor invocation tokens in rulebook bodies (#1129)
- #1107 feat: Render rulebook links and path tokens per harness (#1124)
- #1115 feat: Sync guidance at build and install so an upgrade cannot leave it stale (#1123)
- #1114 feat: Adopt a dependency's guidance by naming the package (#1121)
- #1088 feat: Deliver project ambient rulebooks per harness (#1113)
- #1087 refactor: Rename the authoring rulebook and mark its enforced rules (#1092)
- #1095 tooling: Move compilation out of the install lifecycle into a bootstrap step (#1102)
- #1094 refactor: Remove the ambient ripgrep dependency from the test suite (#1097)
- deps: Upgrade all deps to latest version
- tooling: Upgrade all deps to latest version & modernize configs
- refactor: Fix lint
- #1077 feat: Show the proposed edit above post-review menu options (#1078)
- #1068 feat: Deliver ambient rulebooks mechanically, retiring GLOBAL.md (#1075)
- #1069 feat: Add a no-second-person rule to the lede-voice doctrine (#1070)
- #1050 feat: Add a redundancy rule to the lede-voice doctrine (#1058)
- #1035 internal: Add lifecycle workspace with the canonical envelope, vocabulary & lane fold (#1049)
- #1006 internal: Extend lifecycle-event instrumentation to five high-traffic skills (#1034)
- #1028 feat: Rule out absence-of-removed-code tests (#1032)
- #114 feat: Let reviewers emit gated insights into review artifacts (#1031)
- #1027 internal: Retire input.received and redundant skill.progress emits (#1030)
- #1026 fix: Name the side effects an approval ask authorizes (#1029)
- #1022 fix: Normalize action and question label identifiers across asks blocks (#1025)

factory-v0.2.2
- #1156 refactor: Rename packages to publishable names (#1157)
- deps: Upgrade all deps to latest version
- #1152 tooling: Run every test in the default gate, classified by what it reaches (#1155)
- #1110 tooling: Migrate Vitest to nmr's centralized model (#1154)
- tooling: Remove redundant lint rules
- deps: Upgrade deps to latest version
- deps: Upgrade all deps to latest version
- deps: Upgrade all deps to latest version
- tooling: Upgrade all deps to latest version & modernize configs
- refactor: Fix lint
- deps: Upgrade all deps to latest version

kb-v0.3.0
- #1153 feat: Make codeassembly and kb CLI tools publishable (#1164)
- #1156 refactor: Rename packages to publishable names (#1157)
- #1152 tooling: Run every test in the default gate, classified by what it reaches (#1155)
- #1110 tooling: Migrate Vitest to nmr's centralized model (#1154)
- tooling: Remove redundant lint rules
- #1095 tooling: Move compilation out of the install lifecycle into a bootstrap step (#1102)
- tooling: Upgrade all deps to latest version & modernize configs
- refactor: Fix lint

codeassembly-lifecycle-v0.2.0
- #1153 feat: Make codeassembly and kb CLI tools publishable (#1164)
- #1156 refactor: Rename packages to publishable names (#1157)
- #1152 tooling: Run every test in the default gate, classified by what it reaches (#1155)
- #1110 tooling: Migrate Vitest to nmr's centralized model (#1154)
- tooling: Remove redundant lint rules
- #1095 tooling: Move compilation out of the install lifecycle into a bootstrap step (#1102)
- tooling: Upgrade all deps to latest version & modernize configs
- #1038 feat: Add the read-only git adapter for worktree and base-branch ground truth (#1059)
- #1051 feat: Bound fold memory and rescan cost with a retention window (#1057)
- #1035 internal: Add lifecycle workspace with the canonical envelope, vocabulary & lane fold (#1049)

codeassembly-mcp-v0.2.2
- deps: Upgrade all deps to latest version
- #1156 refactor: Rename packages to publishable names (#1157)
- #1152 tooling: Run every test in the default gate, classified by what it reaches (#1155)
- #1110 tooling: Migrate Vitest to nmr's centralized model (#1154)
- #1095 tooling: Move compilation out of the install lifecycle into a bootstrap step (#1102)
- tooling: Upgrade all deps to latest version & modernize configs
- refactor: Fix lint

codeassembly-run-core-v0.2.2
- #1156 refactor: Rename packages to publishable names (#1157)
- #1152 tooling: Run every test in the default gate, classified by what it reaches (#1155)
- #1110 tooling: Migrate Vitest to nmr's centralized model (#1154)
- #1095 tooling: Move compilation out of the install lifecycle into a bootstrap step (#1102)
- tooling: Upgrade all deps to latest version & modernize configs
- refactor: Fix lint
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

refactoring Improvement to code without change in functionality scope:agents

Projects

None yet

Development

Successfully merging this pull request may close these issues.

The authoring-guidance rulebook is ambiguously named and misframed

1 participant