feat(skills): wave-5.1 — tool-bootstrapping skill + SSOT #31-#37 atomic landing - #34
Merged
Merged
Conversation
…ic landing §13.25 tool-bootstrapping discipline implementation per research-patch 2026-05-10-§13.25-tool-bootstrapping-research.md. Confirmed §11 decisions: D1=b D2=b D3=b D4=d D5=c D6=a D7=a D8=a D9=c (user-confirmed 2026-05-11 in orchestrator session). Adds: project-internal + shipped tool-bootstrapping skill (D5=c); SSOT entries #31-#37 atomic (#37 Windsurf Cascade per reviewer m2); principle 09 REQUIRED_HEADER_DOCS extension per Wave 2 precedent; install.sh ship block mirror of rules-as-tests pattern; open-questions §13.25 status. Sub-waves 5.2 (setup.sh context7 bootstrap, D3=b) and 5.3 (AGENTS.md bullet + UserPromptSubmit hook D7=a + audit-ai-docs probe D4=d) follow sequentially. §13.18 cascade (D9=c): if AIF deep-alignment trigger fires negative in Phase 11, rules 1-4 reuse-via-thin-wrapper (D8=a) is reversible — full rewrite cost bounded by references/decision-format.md schema stability. Prior-art: prior-art-evaluations.md#31 (AIF /aif ADOPT — foundation for rules 1-4 thin-wrapper reuse, D8=a). Prior-art: prior-art-evaluations.md#33 (Continue.dev permissions.yaml DEFER — vocabulary source for decision-format.md schema design).
8 tasks
artyhoo
added a commit
that referenced
this pull request
Jul 11, 2026
…audit) (#965) ## Summary Manifest↔filesystem drift audit of `extension.json` (AIF extension Path A), observed during PR #956: the `factory`, `scripts`, `templates.shared` and `templates.react-next` sections referenced paths that don't exist on disk (`factory/*`, `scripts/audit-ai-docs*.sh`, `templates/shared/*`, `templates/react-next/*`). Every entry now points at the real source path that `install.sh` + `setup.d/` actually copy, keeping the upstream-draft key structure (lee-to/ai-factory PR #34). ## Changes - `factory.templates`: `DESCRIPTION.md`/`ARCHITECTURE.md` → `packages/core/templates/shared/{DESCRIPTION.template.md,ARCHITECTURE.ts-server.md}`; base `RULES.md` → shared multi-stack `packages/preset-next-15-canonical/RULES.md` (source of truth: `setup.d/30-templates.sh:20-29`) - `factory.react-next` → `packages/preset-next-15-canonical/{templates/ARCHITECTURE.react-next.md,RULES.react-next.md}` (per `setup.d/30-templates.sh:45-46`) - `factory.rules` → `packages/core/templates/shared/integration-rules.md` (per `setup.d/30-templates.sh:31`) - `scripts` → `packages/core/audit-self/audit-ai-docs.sh` + `packages/preset-next-15-canonical/audit-self/audit-ai-docs.react-next.sh` (per `install.sh:340,359`) - `templates.shared` → prefixed `packages/core/` (all six files exist there, incl. dotfiles) - `templates.react-next` → `packages/preset-next-15-canonical/templates/*` + the two `.storybook` files delivered by `setup.d/40-configs.sh:71-72` (post-#956 the old `packages/core/templates/react-next/` holds only these) - `templates.ts-server`: paths were already correct (root `templates/ts-server/` is the real source per `setup.d/40-configs.sh:286-295`); added the shipped-but-unlisted `github-actions-workflow-integrity.yml` - New `$paths-comment` documenting that paths are repo-root-relative source paths mirroring the install.sh fallback, and that react-spa/react-native stacks are deliberately not yet listed - `skills` block left untouched — PR #954 renames it (`skills/rules-as-tests` → `skills/getff`) in flight; different hunks, no conflict ## Prior-art consult - [x] Capability commits in this PR carry a `Prior-art:` trailer — N/A: no capability commit (path-value fixes in an existing JSON manifest; no new dependency, no new code module) - [x] If a new capability area surfaced during this PR — none surfaced - [x] If existing entries matched — none touched - [x] context7 queries for new capability areas — N/A (no new capability area) ## Test plan - [x] `jq empty extension.json` green; all 27 referenced paths verified to exist on disk (loop over every path-bearing value → zero MISS) - [x] `bash tests/plugin/opencode-adapter.test.sh` → PASS=7 FAIL=0 (the only in-repo executable consumer of extension.json) - [x] Pre-push hook full gate set green on push (first attempt hit the known principle-11 F1 30s vitest timeout flake; clean on re-run) - [ ] §1.7-свод lands in squash-body (`gh pr merge --squash --body "$(gh pr view <N> --json body -q .body)"`) ## §1.7 Self-discipline check (REQUIRED if PR touches discipline-bearing files) ### §1.7 Skipped: mechanical maintenance — path-value fixes in extension.json manifest to match the filesystem; no discipline rule introduced or extended
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
.claude/skills/tool-bootstrapping/(SKILL.md + references/decision-format.md) — auto-trigger keywords in Russian+English; rule summary; §13.18 cascade note (D9=c); build-vs-reuse boundaryskills/tool-bootstrapping/twin (SKILL.md + references/decision-format.md + templates/tool-decisions.md.template) installed viainstall.sh/aifADOPT, fix: wave-5 readiness — second SSOT ID remap #27-#32 → #31-#36 (AIF Handoff overlap closure) #32 AIF skills.sh ADOPT VOCAB, chore(pr-template): add §1.7 forward+backward stubs + Skipped guidance #33 Continue.dev DEFER, feat(skills): wave-5.1 — tool-bootstrapping skill + SSOT #31-#37 atomic landing #34 Cline MCP DEFER, feat(setup/hooks): wave-5.2+5.3 — context7 baseline, deps-hash hook, D4 audit probe #35 Codex CLI REJECT, fix(install): wave-5 follow-up — SHIPPED_DOCS sync + N3 stat-fallback comment #36 Roo Code DEFER, chore(wave-5-trio-followup): §13.25 closure + D-3 test + MD040 fix #37 Windsurf Cascade DEFER.claude/skills/tracked in principle 09 — mirrors Wave 2 patterninstall.shwith skill copy block (parallel to existingskills/rules-as-testspattern)open-questions.md §13.25status to reflect Wave 5.1 in-progressConfirmed §11 decisions: D1=b D2=b D3=b D4=d D5=c D6=a D7=a D8=a D9=c (user-confirmed 2026-05-11).
Sub-waves 5.2 (setup.sh context7 bootstrap, D3=b) and 5.3 (AGENTS.md bullet + UserPromptSubmit hook D7=a + audit-ai-docs probe D4=d) follow as sequential PRs.
§1.7 Self-discipline check (REQUIRED if PR touches discipline-bearing files)
§1.7 Forward-check applied
Source: research-patch §13.1 (2026-05-10) — copied verbatim per kickoff carry-forward. The proposed «Project-Aware Tool Bootstrapping» discipline complies with each currently-active enforcement layer:
.md). R1-R20 do not apply to markdown — formal complies-trivially.> **Authoritative for:**headers. Both.claude/skills/tool-bootstrapping/SKILL.mdandskills/tool-bootstrapping/SKILL.mdappear in canonical list; canonical-list extension landed in same commit (mirrors §13.21 Wave 2 pattern).packages/core/<new-dir>/; no ≥80 LOC underpackages/. Wave 5.1 is NOT a capability commit.Prior-art:trailers cite fix: wave-5 readiness — AIF Handoff overlap analysis + scope annotations (SSOT #27-#29) #31 and chore(pr-template): add §1.7 forward+backward stubs + Skipped guidance #33 positively per CLAUDE.md.prior-art-evaluations.md §3. Entry chore(wave-5-trio-followup): §13.25 closure + D-3 test + MD040 fix #37 (Windsurf Cascade) added per reviewer m2 carry-forward.Authoritative-forheaders;references/decision-format.mdfiles carry headers per doc-authority-hierarchy.md §3.§1.7 Backward-check applied
Source: research-patch §13.2 (2026-05-10) — copied verbatim per kickoff carry-forward. Complete sweep of existing artefacts under the new rule's scope.
Scope: applies to (a) project onboarding moments — when user first runs
setup.shor first opens AI agent in a fresh consumer project; (b) dep-change moments — whenpackage.jsondeps change after onboarding.README.mdINSTALL-FOR-AI.mdINSTALL.mdpackages/core/templates/shared/AGENTS.md.templatesetup.shExemption:
packages/*/research/fixtures/**andpackages/*/fixtures/**— mirrors §13.21 Wave 2 pattern. Exemption meta-test (positive + mutation pair) ships in Wave 5.3 as part ofaudit-ai-docs.shprobe + negative-test deliverable.Test plan
node_modules/.bin/vitest run packages/core/principles/09-doc-authority-hierarchy.test.ts— 17/17 passednode_modules/.bin/vitest run packages/core/principles/— 56/56 passed (all 10 principle files)bash packages/core/audit-self/audit-ai-docs.test.sh— 5 pass / 0 failnpx tsx packages/core/render/render-rules.ts --check— rules-table region up-to-date/tmpconfirms skill copy block reachable without triggering «Refusing to install into package directory» guarddocs/meta-factory/prior-art-evaluations.md; IDs verified non-colliding (prior max ID = 30)Prior-art:trailers in commit body cite fix: wave-5 readiness — AIF Handoff overlap analysis + scope annotations (SSOT #27-#29) #31 and chore(pr-template): add §1.7 forward+backward stubs + Skipped guidance #33 positively; both IDs exist in SSOT at commit time (§1.9 existence-check)2026-05-12 retroactive Wave 8.5 note: This PR's §1.7 Forward-check section would not pass the Wave 8.1 substance gate (no file:line citations present). Pre-Wave-8 acceptance — kept as historical evidence of the
#discipline-theatregap that motivated §13.29.