bmad-module-skill-forge 0.5.0 → 0.7.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (149) hide show
  1. package/README.md +4 -3
  2. package/docs/agents.md +12 -5
  3. package/docs/concepts.md +37 -15
  4. package/docs/examples.md +49 -5
  5. package/docs/getting-started.md +43 -17
  6. package/docs/how-it-works.md +115 -90
  7. package/docs/index.md +2 -2
  8. package/docs/workflows.md +89 -41
  9. package/package.json +2 -2
  10. package/src/agents/forger.agent.yaml +18 -6
  11. package/src/forger/README.md +1 -1
  12. package/src/forger/forge-tier.yaml +18 -1
  13. package/src/forger/preferences.yaml +6 -8
  14. package/src/knowledge/agentskills-spec.md +1 -1
  15. package/src/knowledge/architecture-verification.md +102 -0
  16. package/src/knowledge/ccc-bridge.md +110 -0
  17. package/src/knowledge/confidence-tiers.md +14 -3
  18. package/src/knowledge/doc-fetcher.md +1 -1
  19. package/src/knowledge/manual-section-integrity.md +2 -2
  20. package/src/knowledge/overview.md +10 -6
  21. package/src/knowledge/progressive-capability.md +15 -6
  22. package/src/knowledge/qmd-registry.md +18 -1
  23. package/src/knowledge/skf-knowledge-index.csv +3 -1
  24. package/src/knowledge/skill-lifecycle.md +26 -2
  25. package/src/knowledge/split-body-strategy.md +16 -2
  26. package/src/knowledge/zero-hallucination.md +11 -8
  27. package/src/module-help.csv +9 -6
  28. package/src/module.yaml +4 -1
  29. package/src/workflows/README.md +36 -18
  30. package/src/workflows/analyze-source/data/skill-brief-schema.md +18 -5
  31. package/src/workflows/analyze-source/data/unit-detection-heuristics.md +1 -0
  32. package/src/workflows/analyze-source/steps-c/step-01-init.md +4 -4
  33. package/src/workflows/analyze-source/steps-c/step-01b-continue.md +1 -1
  34. package/src/workflows/analyze-source/steps-c/step-02-scan-project.md +1 -1
  35. package/src/workflows/analyze-source/steps-c/step-03-identify-units.md +1 -1
  36. package/src/workflows/analyze-source/steps-c/step-04-map-and-detect.md +8 -4
  37. package/src/workflows/analyze-source/steps-c/step-05-recommend.md +1 -1
  38. package/src/workflows/analyze-source/steps-c/step-06-generate-briefs.md +2 -2
  39. package/src/workflows/analyze-source/workflow.md +2 -2
  40. package/src/workflows/audit-skill/data/drift-report-template.md +6 -6
  41. package/src/workflows/audit-skill/data/severity-rules.md +1 -1
  42. package/src/workflows/audit-skill/steps-c/step-01-init.md +3 -2
  43. package/src/workflows/audit-skill/steps-c/step-02-re-index.md +23 -1
  44. package/src/workflows/audit-skill/steps-c/step-04-semantic-diff.md +6 -6
  45. package/src/workflows/audit-skill/workflow.md +3 -2
  46. package/src/workflows/brief-skill/data/scope-templates.md +10 -0
  47. package/src/workflows/brief-skill/data/skill-brief-schema.md +25 -23
  48. package/src/workflows/brief-skill/steps-c/step-01-gather-intent.md +4 -4
  49. package/src/workflows/brief-skill/steps-c/step-02-analyze-target.md +15 -0
  50. package/src/workflows/brief-skill/steps-c/step-05-write-brief.md +3 -0
  51. package/src/workflows/create-skill/data/extraction-patterns.md +37 -1
  52. package/src/workflows/create-skill/data/skill-sections.md +14 -13
  53. package/src/workflows/create-skill/data/source-resolution-protocols.md +1 -1
  54. package/src/workflows/create-skill/steps-c/step-01-load-brief.md +18 -12
  55. package/src/workflows/create-skill/steps-c/step-02-ecosystem-check.md +2 -2
  56. package/src/workflows/create-skill/steps-c/step-02b-ccc-discover.md +157 -0
  57. package/src/workflows/create-skill/steps-c/step-03-extract.md +25 -20
  58. package/src/workflows/create-skill/steps-c/step-03b-fetch-temporal.md +8 -8
  59. package/src/workflows/create-skill/steps-c/step-03c-fetch-docs.md +3 -1
  60. package/src/workflows/create-skill/steps-c/step-04-enrich.md +9 -9
  61. package/src/workflows/create-skill/steps-c/step-05-compile.md +4 -3
  62. package/src/workflows/create-skill/steps-c/step-06-validate.md +3 -3
  63. package/src/workflows/create-skill/steps-c/step-07-generate-artifacts.md +60 -39
  64. package/src/workflows/create-skill/steps-c/step-08-report.md +26 -11
  65. package/src/workflows/create-skill/workflow.md +3 -3
  66. package/src/workflows/create-stack-skill/data/compose-mode-rules.md +65 -0
  67. package/src/workflows/create-stack-skill/data/stack-skill-template.md +29 -7
  68. package/src/workflows/create-stack-skill/steps-c/step-01-init.md +25 -8
  69. package/src/workflows/create-stack-skill/steps-c/step-02-detect-manifests.md +35 -2
  70. package/src/workflows/create-stack-skill/steps-c/step-03-rank-and-confirm.md +26 -2
  71. package/src/workflows/create-stack-skill/steps-c/step-04-parallel-extract.md +24 -0
  72. package/src/workflows/create-stack-skill/steps-c/step-05-detect-integrations.md +40 -2
  73. package/src/workflows/create-stack-skill/steps-c/step-06-compile-stack.md +5 -1
  74. package/src/workflows/create-stack-skill/steps-c/step-07-generate-output.md +53 -5
  75. package/src/workflows/create-stack-skill/steps-c/step-08-validate.md +4 -4
  76. package/src/workflows/create-stack-skill/steps-c/step-09-report.md +8 -2
  77. package/src/workflows/create-stack-skill/workflow.md +3 -3
  78. package/src/workflows/export-skill/data/managed-section-format.md +8 -1
  79. package/src/workflows/export-skill/data/snippet-format.md +1 -1
  80. package/src/workflows/export-skill/steps-c/step-01-load-skill.md +1 -1
  81. package/src/workflows/export-skill/steps-c/step-02-package.md +1 -1
  82. package/src/workflows/export-skill/steps-c/step-04-update-context.md +7 -2
  83. package/src/workflows/export-skill/steps-c/step-05-token-report.md +1 -1
  84. package/src/workflows/export-skill/workflow.md +3 -1
  85. package/src/workflows/quick-skill/data/skill-template.md +24 -4
  86. package/src/workflows/quick-skill/steps-c/step-02-ecosystem-check.md +1 -3
  87. package/src/workflows/quick-skill/steps-c/step-04-compile.md +26 -6
  88. package/src/workflows/quick-skill/steps-c/step-05-validate.md +1 -1
  89. package/src/workflows/quick-skill/steps-c/step-06-write.md +3 -0
  90. package/src/workflows/quick-skill/workflow.md +1 -1
  91. package/src/workflows/refine-architecture/data/refinement-rules.md +102 -0
  92. package/src/workflows/refine-architecture/steps-c/step-01-init.md +188 -0
  93. package/src/workflows/refine-architecture/steps-c/step-02-gap-analysis.md +179 -0
  94. package/src/workflows/refine-architecture/steps-c/step-03-issue-detection.md +182 -0
  95. package/src/workflows/refine-architecture/steps-c/step-04-improvements.md +169 -0
  96. package/src/workflows/refine-architecture/steps-c/step-05-compile.md +200 -0
  97. package/src/workflows/refine-architecture/steps-c/step-06-report.md +147 -0
  98. package/src/workflows/refine-architecture/workflow.md +61 -0
  99. package/src/workflows/setup-forge/data/tier-rules.md +16 -6
  100. package/src/workflows/setup-forge/steps-c/step-01-detect-and-tier.md +33 -15
  101. package/src/workflows/setup-forge/steps-c/step-01b-ccc-index.md +148 -0
  102. package/src/workflows/setup-forge/steps-c/step-02-write-config.md +29 -12
  103. package/src/workflows/setup-forge/steps-c/step-03-auto-index.md +29 -6
  104. package/src/workflows/setup-forge/steps-c/step-04-report.md +16 -4
  105. package/src/workflows/setup-forge/workflow.md +4 -3
  106. package/src/workflows/test-skill/data/scoring-rules.md +8 -0
  107. package/src/workflows/test-skill/data/source-access-protocol.md +1 -1
  108. package/src/workflows/test-skill/steps-c/step-01-init.md +3 -2
  109. package/src/workflows/test-skill/steps-c/step-02-detect-mode.md +2 -0
  110. package/src/workflows/test-skill/templates/test-report-template.md +3 -0
  111. package/src/workflows/test-skill/workflow.md +2 -2
  112. package/src/workflows/update-skill/steps-c/step-01-init.md +3 -2
  113. package/src/workflows/update-skill/steps-c/step-02-detect-changes.md +2 -2
  114. package/src/workflows/update-skill/steps-c/step-03-re-extract.md +24 -4
  115. package/src/workflows/update-skill/steps-c/step-05-validate.md +7 -11
  116. package/src/workflows/update-skill/steps-c/step-06-write.md +7 -4
  117. package/src/workflows/update-skill/workflow.md +1 -1
  118. package/src/workflows/verify-stack/data/coverage-patterns.md +45 -0
  119. package/src/workflows/verify-stack/data/feasibility-report-template.md +63 -0
  120. package/src/workflows/verify-stack/data/integration-verification-rules.md +73 -0
  121. package/src/workflows/verify-stack/steps-c/step-01-init.md +174 -0
  122. package/src/workflows/verify-stack/steps-c/step-02-coverage.md +181 -0
  123. package/src/workflows/verify-stack/steps-c/step-03-integrations.md +195 -0
  124. package/src/workflows/verify-stack/steps-c/step-04-requirements.md +168 -0
  125. package/src/workflows/verify-stack/steps-c/step-05-synthesize.md +191 -0
  126. package/src/workflows/verify-stack/steps-c/step-06-report.md +197 -0
  127. package/src/workflows/verify-stack/workflow.md +61 -0
  128. package/tools/cli/commands/status.js +2 -1
  129. package/src/workflows/analyze-source/validation-report.md +0 -657
  130. package/src/workflows/analyze-source/workflow-plan-analyze-source.md +0 -385
  131. package/src/workflows/audit-skill/validation-report.md +0 -545
  132. package/src/workflows/audit-skill/workflow-plan-audit-skill.md +0 -318
  133. package/src/workflows/brief-skill/validation-report.md +0 -630
  134. package/src/workflows/brief-skill/workflow-plan-brief-skill.md +0 -360
  135. package/src/workflows/create-skill/validation-report.md +0 -189
  136. package/src/workflows/create-skill/workflow-plan-create-skill.md +0 -523
  137. package/src/workflows/create-stack-skill/validation-report.md +0 -401
  138. package/src/workflows/create-stack-skill/workflow-plan-create-stack-skill.md +0 -481
  139. package/src/workflows/export-skill/validation-report.md +0 -263
  140. package/src/workflows/export-skill/workflow-plan-export-skill.md +0 -369
  141. package/src/workflows/quick-skill/validation-report.md +0 -543
  142. package/src/workflows/quick-skill/workflow-plan-quick-skill.md +0 -405
  143. package/src/workflows/setup-forge/validation-report.md +0 -504
  144. package/src/workflows/setup-forge/workflow-plan-setup-forge.md +0 -428
  145. package/src/workflows/test-skill/validation-report.md +0 -390
  146. package/src/workflows/test-skill/workflow-plan-test-skill.md +0 -292
  147. package/src/workflows/update-skill/data/tier-degradation-rules.md +0 -46
  148. package/src/workflows/update-skill/validation-report.md +0 -559
  149. package/src/workflows/update-skill/workflow-plan-update-skill.md +0 -441
package/package.json CHANGED
@@ -1,8 +1,8 @@
1
1
  {
2
2
  "$schema": "https://json.schemastore.org/package.json",
3
3
  "name": "bmad-module-skill-forge",
4
- "version": "0.5.0",
5
- "description": "BMAD module — Turn code and docs into instructions AI agents can actually follow. Progressive capability tiers (Quick/Forge/Deep).",
4
+ "version": "0.7.0",
5
+ "description": "BMAD module — Turn code and docs into instructions AI agents can actually follow. Progressive capability tiers (Quick/Forge/Forge+/Deep).",
6
6
  "keywords": [
7
7
  "bmad",
8
8
  "bmad-method",
@@ -15,7 +15,7 @@ agent:
15
15
  Skill compilation specialist who transforms code repositories, documentation, and developer discourse into verified agent skills.
16
16
  Manages the full lifecycle: source analysis, skill briefing, AST-backed compilation,
17
17
  integrity testing, and ecosystem-ready export across progressive capability tiers
18
- (Quick/Forge/Deep).
18
+ (Quick/Forge/Forge+/Deep).
19
19
 
20
20
  identity: |
21
21
  The forge master — a precision-focused craftsman who works through four modes:
@@ -41,11 +41,11 @@ agent:
41
41
  - "Agent-level knowledge informs judgment across workflows — consult knowledge/ when a step directs, not from memory"
42
42
 
43
43
  critical_actions:
44
- - "Load COMPLETE file {project-root}/_bmad/_memory/forger-sidecar/preferences.yaml"
45
- - "Load COMPLETE file {project-root}/_bmad/_memory/forger-sidecar/forge-tier.yaml"
46
- - "ONLY read/write files in {project-root}/_bmad/_memory/forger-sidecar/"
47
- - "Consult {project-root}/_bmad/skf/knowledge/skf-knowledge-index.csv to select knowledge fragments under knowledge/ and load only the files needed for the current task"
48
- - "Load the referenced fragment(s) from {project-root}/_bmad/skf/knowledge/ before giving recommendations"
44
+ - "Load COMPLETE file {sidecar_path}/preferences.yaml"
45
+ - "Load COMPLETE file {sidecar_path}/forge-tier.yaml"
46
+ - "ONLY write STATE files to {project-root}/_bmad/_memory/forger-sidecar/ — reading from knowledge/ and workflow files is expected"
47
+ - "When a workflow step directs knowledge consultation, consult {project-root}/_bmad/skf/knowledge/skf-knowledge-index.csv to select the relevant fragment(s) and load only those files"
48
+ - "Load the referenced fragment(s) from {project-root}/_bmad/skf/ using the path in the fragment_file column (e.g., knowledge/overview.md resolves to {project-root}/_bmad/skf/knowledge/overview.md) before giving recommendations on the topic the step directed"
49
49
 
50
50
  menu:
51
51
  - trigger: SF or fuzzy match on setup-forge
@@ -80,6 +80,14 @@ agent:
80
80
  workflow: "{project-root}/_bmad/skf/workflows/skillforge/audit-skill/workflow.md"
81
81
  description: "[AS] Audit Skill — check for drift"
82
82
 
83
+ - trigger: VS or fuzzy match on verify-stack
84
+ workflow: "{project-root}/_bmad/skf/workflows/skillforge/verify-stack/workflow.md"
85
+ description: "[VS] Verify Stack — validate tech stack feasibility against architecture and PRD"
86
+
87
+ - trigger: RA or fuzzy match on refine-architecture
88
+ workflow: "{project-root}/_bmad/skf/workflows/skillforge/refine-architecture/workflow.md"
89
+ description: "[RA] Refine Architecture — improve architecture doc using verified skill data"
90
+
83
91
  - trigger: TS or fuzzy match on test-skill
84
92
  workflow: "{project-root}/_bmad/skf/workflows/skillforge/test-skill/workflow.md"
85
93
  description: "[TS] Test Skill — verify completeness"
@@ -88,6 +96,10 @@ agent:
88
96
  workflow: "{project-root}/_bmad/skf/workflows/skillforge/export-skill/workflow.md"
89
97
  description: "[EX] Export Skill — package for distribution"
90
98
 
99
+ - trigger: KI or fuzzy match on knowledge-index
100
+ action: "Load and display {project-root}/_bmad/skf/knowledge/skf-knowledge-index.csv — cross-cutting knowledge fragments available for JiT loading"
101
+ description: "[KI] Knowledge Index — list available knowledge fragments"
102
+
91
103
  - trigger: WS or fuzzy match on workflow-status
92
104
  action: "Show current lifecycle position, active skill briefs, and forge tier status"
93
105
  description: "[WS] Workflow Status — show current lifecycle position"
@@ -9,7 +9,7 @@ Cross-session state for the SKF module's skill compilation lifecycle.
9
9
  ## Files
10
10
 
11
11
  - `preferences.yaml` — User preferences: language defaults, output format settings
12
- - `forge-tier.yaml` — Tool availability (ast-grep, gh, QMD) and derived capability tier
12
+ - `forge-tier.yaml` — Tool availability (ast-grep, gh, QMD, ccc), derived capability tier, CCC index state, and QMD collection registry
13
13
 
14
14
  ## Runtime Access
15
15
 
@@ -6,8 +6,25 @@ tools:
6
6
  ast_grep: ~
7
7
  gh_cli: ~
8
8
  qmd: ~
9
+ ccc: ~
10
+ ccc_daemon: ~
11
+ security_scan: ~ # Detected but not yet consumed by downstream workflows — reserved for future validation pre-check
9
12
 
10
13
  # Capability tier (derived from tool availability)
11
- # Quick = no tools required | Forge = + ast-grep | Deep = + ast-grep + gh + QMD
14
+ # Quick = no tools | Forge = + ast-grep | Forge+ = + ast-grep + ccc | Deep = + ast-grep + gh + QMD
12
15
  tier: ~
13
16
  tier_detected_at: ~
17
+
18
+ # CCC semantic index state (managed by setup-forge and extraction workflows)
19
+ ccc_index:
20
+ indexed_path: ~
21
+ last_indexed: ~
22
+ status: "none"
23
+ staleness_threshold_hours: 24
24
+
25
+ # CCC index registry (tracks which source paths have been indexed for skill workflows)
26
+ ccc_index_registry: []
27
+
28
+ # QMD collection registry (populated by create-skill, consumed by audit/update-skill)
29
+ # Each entry tracks a QMD collection created during skill workflows
30
+ qmd_collections: []
@@ -2,16 +2,14 @@
2
2
  # Created by setup-forge workflow on first run
3
3
  # Edit this file to customize Ferris behavior
4
4
 
5
- # Override detected tier (set to Quick, Forge, or Deep to force a tier)
5
+ # Override detected tier (set to Quick, Forge, Forge+, or Deep to force a tier)
6
6
  tier_override: ~
7
7
 
8
8
  # Passive context injection (set to false to skip snippet generation and CLAUDE.md updates during export)
9
9
  passive_context: true
10
10
 
11
- # Language defaults
12
- output_language: ~
13
- skill_format_version: ~
14
-
15
- # Output preferences
16
- citation_style: ~
17
- confidence_display: ~
11
+ # Reserved for future use — these fields are not yet consumed by any workflow step
12
+ # output_language: ~
13
+ # skill_format_version: ~
14
+ # citation_style: ~
15
+ # confidence_display: ~
@@ -63,7 +63,7 @@ The format implements a three-phase loading model:
63
63
  | Phase | What Loads | Token Cost | When |
64
64
  | --- | --- | --- | --- |
65
65
  | Discovery | `name` + `description` from frontmatter | ~50-100 tokens | Agent startup, all skills |
66
- | Activation | Full `SKILL.md` body | < 5000 tokens | Task matches skill description |
66
+ | Activation | Full `SKILL.md` body | < 5000 tokens (~500 lines guideline) | Task matches skill description |
67
67
  | Execution | Files from `scripts/`, `references/`, `assets/` | Variable | SKILL.md directs agent to load |
68
68
 
69
69
  ## Pattern Examples
@@ -0,0 +1,102 @@
1
+ # Architecture Verification
2
+
3
+ ## Principle
4
+
5
+ A tech stack is only as strong as its weakest integration point. Architecture verification cross-references generated skills against architecture documents to produce evidence-backed feasibility verdicts — before a single line of application code is written. Every verdict must cite specific APIs, types, or function signatures from the generated skills. Speculation is labeled; evidence is cited.
6
+
7
+ ## Rationale
8
+
9
+ Architects commonly evaluate tech stacks by reading documentation, building proof-of-concepts, or asking on forums. This process is slow, incomplete, and leaves integration risks undiscovered until implementation. SKF's pre-code verification pipeline replaces guesswork with systematic cross-referencing:
10
+
11
+ 1. Generate skills for each candidate library (CS/QS) — producing T1/T2 extraction data
12
+ 2. Run Verify Stack (VS) — cross-reference extracted APIs against architecture integration claims
13
+ 3. Run Refine Architecture (RA) — improve the architecture doc with verified API evidence
14
+ 4. Run Stack Skill compose mode (SS) — synthesize a consolidated integration playbook
15
+
16
+ Without architecture verification:
17
+ - Integration risks surface during implementation (costly, late)
18
+ - Architecture documents describe intent without evidence
19
+ - Library selection is based on feature lists, not API compatibility
20
+
21
+ With architecture verification:
22
+ - Integration feasibility is validated pre-code with API-level evidence
23
+ - Architecture documents become evidence-backed engineering artifacts
24
+ - Library swaps happen in minutes (regenerate skill, re-run VS) not days
25
+
26
+ ## Verification Passes
27
+
28
+ ### Pass 1: Coverage Verification
29
+
30
+ Check that a generated skill exists for every technology referenced in the architecture document. Coverage gaps mean unverified assumptions about library capabilities.
31
+
32
+ - **Covered**: Skill exists — APIs are known
33
+ - **Missing**: Referenced but no skill — capabilities are assumed, not verified
34
+
35
+ ### Pass 2: Integration Verification
36
+
37
+ For each integration claim in the architecture document, cross-reference the API surfaces of both libraries:
38
+
39
+ - **Verified**: APIs demonstrably connect — matching types, documented bridge, or shared protocol
40
+ - **Plausible**: Compatible types or protocols but no documented integration path
41
+ - **Risky**: Type mismatch, protocol gap, or language boundary requiring a bridge
42
+ - **Blocked**: Fundamental incompatibility — no feasible integration path
43
+
44
+ Cross-reference protocol:
45
+ 1. Language boundary check (same language → direct calls; TypeScript↔Rust → needs FFI/IPC)
46
+ 2. Protocol compatibility (in-process, HTTP, WebSocket, shared filesystem)
47
+ 3. Type compatibility (does A export something B accepts?)
48
+ 4. Documentation cross-reference (does either library mention the other?)
49
+
50
+ ### Pass 3: Requirements Verification
51
+
52
+ If a PRD/vision document is provided, verify the stack covers stated capability requirements:
53
+
54
+ - **Fulfilled**: Stack capabilities demonstrably address the requirement
55
+ - **Partially Fulfilled**: Some aspects covered, gaps remain
56
+ - **Not Addressed**: No library in the stack covers this requirement
57
+
58
+ ## Iteration Loop
59
+
60
+ The core value of architecture verification is the iteration loop:
61
+
62
+ 1. VS produces verdicts → user reads RISKY/BLOCKED items
63
+ 2. User swaps a library → generates new skill via CS/QS
64
+ 3. User re-runs VS → sees delta: "Previously RISKY, now VERIFIED"
65
+ 4. Repeat until FEASIBLE
66
+
67
+ Each VS run should produce a diff from the previous run when a prior feasibility report exists. This makes the iteration cycle visible and measurable.
68
+
69
+ ## Evidence Citation Format
70
+
71
+ All verdicts cite evidence from generated skills:
72
+
73
+ ```
74
+ Library A exports: `function_name(params) → return_type` [from skill: skill-name]
75
+ Library B accepts: `function_name(params)` [from skill: skill-name]
76
+ Compatibility: {explanation}
77
+ ```
78
+
79
+ ## Lifecycle Position
80
+
81
+ Architecture verification sits between individual skill generation and stack skill synthesis:
82
+
83
+ ```
84
+ (CS|QS)×N → VS → RA → SS (compose) → TS → EX → Implementation → SS (code-mode)
85
+ ```
86
+
87
+ VS and RA are pre-code workflows. SS compose-mode synthesizes the implementation playbook. After the codebase grows, SS code-mode (the standard stack-skill mode that analyzes manifests and source) captures actual usage patterns — completing the lifecycle.
88
+
89
+ ## Anti-Patterns
90
+
91
+ - Treating VS verdicts as absolute — they are evidence-based assessments, not guarantees
92
+ - Running VS without generating skills first — VS reads skills, it does not create them
93
+ - Skipping the iteration loop — the first VS run often reveals gaps that require library swaps
94
+ - Using VS output as a SKILL.md — VS produces a feasibility report, not a skill; use SS compose-mode for the stack skill
95
+
96
+ ## Related Fragments
97
+
98
+ - [confidence-tiers.md](confidence-tiers.md) — T1/T2/T3 trust model for verdict evidence
99
+ - [skill-lifecycle.md](skill-lifecycle.md) — end-to-end pipeline and workflow connections
100
+ - [progressive-capability.md](progressive-capability.md) — tier philosophy for skill generation
101
+
102
+ _Source: synthesized from verify-stack/workflow.md, refine-architecture/workflow.md, and create-stack-skill compose-mode-rules.md_
@@ -0,0 +1,110 @@
1
+ # CCC Bridge
2
+
3
+ ## Principle
4
+
5
+ `ccc_bridge.*` references in workflow steps are **conceptual interfaces**, not callable functions. They describe a semantic code discovery operation to perform. Use the `ccc` MCP server tools (when available) or `ccc` CLI commands to execute these operations. See the TOOL/SUBPROCESS FALLBACK rule — if ccc is unavailable, the calling step falls back to direct ast-grep or source reading without ccc pre-discovery.
6
+
7
+ ## Rationale
8
+
9
+ Without ccc pre-discovery, extraction steps scan all source files uniformly — processing them in directory order or entry-point-first order. On large codebases (500+ files), this means AST extraction in CLI streaming mode uses `head -N` cutoffs that may miss relevant exports in files that appear late in the scan. Integration detection in Stack Skill relies on grep-based co-import counting, which misses semantic relationships between libraries that don't appear in the same file.
10
+
11
+ With ccc pre-discovery:
12
+ - Extraction steps receive a relevance-ranked file queue — the most semantically important files are processed first, before any streaming cutoff
13
+ - Integration detection gains semantic augmentation — pairs below the 2-file co-import threshold can be evaluated via natural language queries
14
+ - Audit workflows can detect renamed/moved exports via semantic search before classifying them as deleted
15
+
16
+ The key architectural constraint: ccc discovers, ast-grep verifies. Discovery method is orthogonal to confidence tier. This keeps the 4-tier confidence system (T1/T1-low/T2/T3) clean and avoids tier proliferation.
17
+
18
+ ## When ccc Is Used
19
+
20
+ ccc is a **discovery layer only**. It answers "where should I look?" — it does not produce citations or structural claims. Every path or symbol returned by ccc_bridge must be verified by `ast_bridge` (T1) or source reading (T1-low) before it enters the extraction inventory. ccc results never appear in provenance citations.
21
+
22
+ ccc is **required** at the Forge+ tier (it defines Forge+) and **optionally available** at the Deep tier as an enhancement (when `tools.ccc: true` in forge-tier.yaml).
23
+
24
+ ## Availability
25
+
26
+ ccc_bridge operations are available when:
27
+ - `tools.ccc: true` in forge-tier.yaml (verified by `ccc --help` + `ccc doctor` in setup-forge)
28
+ - `ccc_index.status` is `"fresh"` or `"stale"` in forge-tier.yaml (an index exists for the project)
29
+
30
+ When either condition is false, calling steps skip ccc discovery silently and proceed with direct ast-grep or source reading. This is standard Forge tier behavior — not a degradation.
31
+
32
+ ## Operations
33
+
34
+ ### `ccc_bridge.search(query, path?, top_k?)`
35
+
36
+ **Resolves to:** `ccc search "{query}" --path {path} --top {top_k}` (CLI) or the `ccc` MCP search tool (preferred)
37
+
38
+ Returns: list of `{file, score, snippet}` entries ranked by semantic relevance to the query. These are **candidates** for ast-grep extraction — not verified exports.
39
+
40
+ **Usage context:** Called before ast-grep in Forge+ and Deep tier extraction steps to discover semantically relevant source regions. Results pre-rank the file extraction queue so ast-grep processes the most relevant files first.
41
+
42
+ ### `ccc_bridge.ensure_index(path)`
43
+
44
+ **Resolves to:** Check `ccc_index.status` in forge-tier.yaml. If `"none"` or the indexed_path does not match, run `ccc init {path}` then `ccc index` and update forge-tier.yaml.
45
+
46
+ **Usage context:** Called by setup-forge step-01b to ensure the project root is indexed. Called lazily by extraction steps when `ccc_index.status` is `"none"` but ccc is available.
47
+
48
+ ### `ccc_bridge.status()`
49
+
50
+ **Resolves to:** Two-step verification:
51
+ 1. `ccc --help` — confirms binary exists (exit 0)
52
+ 2. `ccc doctor` — confirms daemon is running, extracts version string, validates embedding model
53
+
54
+ **Usage context:** Called exclusively by setup-forge step-01 during tool detection. Downstream workflows read the result from forge-tier.yaml — they do not re-verify.
55
+
56
+ ## Confidence
57
+
58
+ ccc discovery does not produce a confidence tier. The provenance chain is:
59
+
60
+ 1. ccc discovers candidate files (internal hint — not cited)
61
+ 2. ast-grep verifies exports in those files → **T1** citation `[AST:file:Lnn]`
62
+ 3. Or source reading verifies → **T1-low** citation `[SRC:file:Lnn]`
63
+
64
+ The ccc search is invisible in the output artifact. A Forge+ skill's citations are indistinguishable from a Forge skill's citations — the difference is in extraction coverage, not citation format.
65
+
66
+ ## Indexing Lifecycle
67
+
68
+ ### When Indexing Happens
69
+
70
+ 1. **setup-forge step-01b:** Indexes the project root when setup-forge runs. This is the primary indexing point.
71
+ 2. **Workflow discovery steps:** If `ccc_index.status` is `"stale"` or `"none"`, discovery steps trigger a re-index and warn the user. They do not block.
72
+ 3. **ccc daemon:** Incremental indexing means re-indexing unchanged files is a near-no-op.
73
+
74
+ ### Freshness
75
+
76
+ - Staleness threshold: 24 hours (configurable via `ccc_index.staleness_threshold_hours` in forge-tier.yaml)
77
+ - A stale index still produces useful results — the workflow proceeds with the stale index and notes the staleness
78
+ - setup-forge is the designated refresh authority
79
+
80
+ ### Relationship to QMD Registry
81
+
82
+ ccc_index and qmd_collections are **orthogonal**:
83
+ - `ccc_index` in forge-tier.yaml tracks the persistent source code index (one per project)
84
+ - `qmd_collections[]` in forge-tier.yaml tracks per-skill workflow artifact collections
85
+ - ccc indexes source code for semantic search; QMD indexes curated artifacts for temporal/knowledge search
86
+ - The janitor role for QMD (setup-forge step-03) operates independently of ccc_index
87
+
88
+ ## Query Volume Bounds
89
+
90
+ To prevent excessive daemon calls, workflow steps cap ccc queries:
91
+ - **create-skill extraction:** max 2 queries per skill (discovery + optional scope refinement)
92
+ - **analyze-source mapping:** max 1 query per qualifying unit
93
+ - **create-stack-skill integration detection:** max 1 query per library pair
94
+ - **audit-skill re-index:** max 1 query per export missing from its recorded location
95
+
96
+ ## Anti-Patterns
97
+
98
+ - Using ccc_bridge results as citations without ast-grep verification — ccc output is never a provenance citation
99
+ - Blocking a workflow because ccc is unavailable — ccc is always optional
100
+ - Running ccc_bridge.ensure_index() without checking ccc_index.status first — unnecessary re-indexing
101
+ - Passing ccc results directly to the extraction inventory — they are candidates, not extractions
102
+ - Listing ccc as "unavailable" in reports for Quick/Forge tiers — ccc is a Forge+ capability, not something Quick/Forge tiers are missing
103
+
104
+ ## Related Fragments
105
+
106
+ - [progressive-capability.md](progressive-capability.md) — Forge+ tier definition and positive framing
107
+ - [confidence-tiers.md](confidence-tiers.md) — why ccc does not create a new confidence tier
108
+ - [qmd-registry.md](qmd-registry.md) — the parallel but separate registry for QMD collections
109
+
110
+ _Source: designed as part of the Forge+ tier integration for cocoindex-code semantic code search_
@@ -22,11 +22,22 @@ With confidence tiers:
22
22
 
23
23
  | Tier | Label | Source | Extraction Method | Available At |
24
24
  | --- | --- | --- | --- | --- |
25
- | T1 | AST-verified | Source code | ast-grep structural parsing | Forge, Deep |
26
- | T1-low | Source-read | Source code | Pattern matching, file reading | Quick, Forge, Deep |
25
+ | T1 | AST-verified | Source code | ast-grep structural parsing | Forge, Forge+, Deep |
26
+ | T1-low | Source-read | Source code | Pattern matching, file reading | Quick, Forge, Forge+, Deep |
27
27
  | T2 | QMD-enriched | Knowledge base | QMD semantic search + synthesis | Deep |
28
28
  | T3 | External reference | Docs, URLs | External documentation lookup | All tiers |
29
29
 
30
+ ## T2 Sub-Types
31
+
32
+ T2 enrichment content maps to temporal scopes that control where annotations surface:
33
+
34
+ | Sub-type | Content | Surface Level |
35
+ | --- | --- | --- |
36
+ | T2-past | Closed issues, merged PRs, changelogs — historical context explaining why the API looks the way it does | `references/` (full temporal context) |
37
+ | T2-future | Open PRs, deprecation warnings, RFCs — forward-looking context about upcoming changes | `SKILL.md` Section 4b (Migration & Deprecation Warnings) + `references/` |
38
+
39
+ The T2-past/T2-future distinction is operationally significant: T2-future annotations trigger the presence of a Migration & Deprecation Warnings section in SKILL.md, while T2-past annotations live in progressive disclosure reference files only.
40
+
30
41
  ## Citation Formats
31
42
 
32
43
  Each tier has a defined citation format used consistently across all skill output:
@@ -131,7 +142,7 @@ Every generated skill includes a confidence distribution in `metadata.json`:
131
142
  "t2": 12,
132
143
  "t3": 3
133
144
  },
134
- "extraction_tier": "deep"
145
+ "confidence_tier": "Deep" // valid values: "Quick", "Forge", "Forge+", "Deep"
135
146
  }
136
147
  ```
137
148
 
@@ -13,7 +13,7 @@ T3 external documentation fetching retrieves content from URLs specified in the
13
13
  All content obtained through doc fetching is classified as **external, untrusted** and subject to quarantine constraints:
14
14
 
15
15
  1. **Citation format** — every doc-fetched claim uses `[EXT:{url}]` citation format
16
- 2. **Conflict resolution priority** — T3 has the lowest priority: `T1 > T2 > source reading > T3`
16
+ 2. **Conflict resolution priority** — T3 has the lowest priority: `T1 > T1-low > T2 > T3`
17
17
  3. **Source authority cap** — T3 content forces `source_authority: community` in metadata; it never qualifies as `official`
18
18
  4. **No structural claims** — T3 cannot assert verified signatures or line-level precision
19
19
 
@@ -106,12 +106,12 @@ Runs pending database migrations in sequence.
106
106
  | Severity | Condition | Resolution |
107
107
  | --- | --- | --- |
108
108
  | HIGH | Regenerated content overlaps \[MANUAL\] position | Present both versions, user chooses |
109
- | WARNING | Parent section deleted, \[MANUAL\] block orphaned | Flag orphaned block, user decides to keep or remove |
109
+ | HIGH | Parent section deleted, \[MANUAL\] block orphaned | Flag orphaned block, user decides to keep or remove |
110
110
  | MEDIUM | \[MANUAL\] references a deleted export | Flag stale reference for user review |
111
111
  | LOW | New export generated adjacent to \[MANUAL\] block | Auto-resolve: place new content before the block |
112
112
 
113
113
  **Key Points:**
114
- - HIGH and WARNING conflicts always require user input — never auto-resolved
114
+ - HIGH conflicts always require user input — never auto-resolved
115
115
  - MEDIUM conflicts are flagged but do not block the update
116
116
  - LOW conflicts are auto-resolved with a deterministic rule (new content before block)
117
117
 
@@ -6,7 +6,7 @@ Agent-level knowledge files capture cross-cutting principles and patterns that F
6
6
 
7
7
  ## Rationale
8
8
 
9
- The SKF module has 10 workflows containing 19 operational `data/` files embedded in step directories. These data files define schemas, templates, scoring formulas, and extraction rules tightly coupled to individual steps. But several principles — zero hallucination, confidence tiers, provenance — cut across multiple workflows and need a single authoritative source rather than fragmented repetition.
9
+ The SKF module has 12 workflows containing numerous operational `data/` files embedded in step directories. These data files define schemas, templates, scoring formulas, and extraction rules tightly coupled to individual steps. But several principles — zero hallucination, confidence tiers, provenance — cut across multiple workflows and need a single authoritative source rather than fragmented repetition.
10
10
 
11
11
  Without a knowledge folder:
12
12
  - Cross-cutting principles get duplicated across workflow steps
@@ -22,20 +22,24 @@ With knowledge files:
22
22
 
23
23
  | File | Purpose | Key Workflows |
24
24
  |------------------------------------------------------------|-------------------------------------------------------------------|------------------------------------|
25
- | [zero-hallucination.md](zero-hallucination.md) | Every claim traces to source; uncitable content excluded | AN, BS, CS, QS, SS, US, AS, TS |
26
- | [confidence-tiers.md](confidence-tiers.md) | T1/T1-low/T2/T3 trust model and citation formats | AN, BS, CS, QS, SS, US, AS, TS, EX |
27
- | [progressive-capability.md](progressive-capability.md) | Quick/Forge/Deep tier philosophy and behavior adaptation | All 10 |
25
+ | [zero-hallucination.md](zero-hallucination.md) | Every claim traces to source; uncitable content excluded | AN, BS, CS, QS, SS, US, AS, TS, RA |
26
+ | [confidence-tiers.md](confidence-tiers.md) | T1/T1-low/T2/T3 trust model and citation formats | AN, BS, CS, QS, SS, US, AS, TS, EX, RA, VS |
27
+ | [progressive-capability.md](progressive-capability.md) | Quick/Forge/Forge+/Deep tier philosophy and behavior adaptation | SF, AN, BS, CS, QS, SS, US, AS, TS, EX, VS, RA |
28
28
  | [agentskills-spec.md](agentskills-spec.md) | agentskills.io output format principles and compliance | CS, QS, SS, US, TS, EX |
29
- | [skill-lifecycle.md](skill-lifecycle.md) | End-to-end pipeline, artifact flow, workflow selection | All 10 |
29
+ | [skill-lifecycle.md](skill-lifecycle.md) | End-to-end pipeline, artifact flow, workflow selection | All 12 |
30
30
  | [provenance-tracking.md](provenance-tracking.md) | Provenance-map.json entries and file_entries, evidence reports, claim traceability | CS, QS, SS, US, AS, TS |
31
31
  | [manual-section-integrity.md](manual-section-integrity.md) | \[MANUAL\] marker preservation and merge algorithm | CS, US, AS, TS, EX |
32
32
  | [qmd-registry.md](qmd-registry.md) | Progressive QMD collection registry and collection gate principle | SF, BS, CS, US, AS |
33
+ | [ccc-bridge.md](ccc-bridge.md) | ccc_bridge interface, indexing lifecycle, Forge+ discovery-before-extraction | SF, AN, CS, SS, US, AS |
34
+ | [architecture-verification.md](architecture-verification.md) | Pre-code verification pipeline, integration verdicts, iteration loop | VS, RA, SS |
35
+ | [doc-fetcher.md](doc-fetcher.md) | T3 external documentation fetching, quarantine rules, tool-agnostic | CS, QS |
33
36
  | [split-body-strategy.md](split-body-strategy.md) | Selective vs full split-body, detection pattern, agent accuracy | CS, QS, US, TS, EX |
37
+ | [overview.md](overview.md) | Knowledge map and JiT loading protocol (this file) | All (entry point) |
34
38
 
35
39
  ## JiT Loading Protocol
36
40
 
37
41
  1. Ferris receives a task or workflow activation
38
- 2. Consult `skf-knowledge-index.csv` to identify relevant knowledge fragments by tags or description
42
+ 2. Consult `skf-knowledge-index.csv` to identify relevant knowledge fragments by tags or description. The `tier` column classifies fragments as `core` (always relevant when the domain applies) or `extended` (load only when the specific scenario is active — e.g., `doc-fetcher.md` only when `doc_urls` are present in the brief)
39
43
  3. Load only the files needed for the current task — never bulk-load all knowledge
40
44
  4. Apply knowledge principles during workflow execution alongside step-specific `data/` files
41
45
 
@@ -2,7 +2,7 @@
2
2
 
3
3
  ## Principle
4
4
 
5
- Every capability tier — Quick, Forge, and Deep — produces legitimate, useful skills. Tiers describe what tools are available, not a quality hierarchy. A Quick skill is complete at its tier; a Deep skill adds depth, not correctness. Framing is always positive: describe what each tier enables, never what it lacks.
5
+ Every capability tier — Quick, Forge, Forge+, and Deep — produces legitimate, useful skills. Tiers describe what tools are available, not a quality hierarchy. A Quick skill is complete at its tier; a Deep skill adds depth, not correctness. Framing is always positive: describe what each tier enables, never what it lacks.
6
6
 
7
7
  ## Rationale
8
8
 
@@ -24,6 +24,7 @@ With progressive capability:
24
24
  | --- | --- | --- | --- |
25
25
  | Quick | No tools required | Fast, template-driven, package-name resolution | Speed-first skill creation |
26
26
  | Forge | ast-grep available | AST-backed structural analysis, line-level citations | Precision-focused compilation |
27
+ | Forge+ | ast-grep + ccc | Semantic discovery + AST verification, pre-ranked extraction | Intelligent precision compilation |
27
28
  | Deep | ast-grep + gh + qmd | AST + GitHub exploration + QMD synthesis, maximum provenance | Full intelligence pipeline |
28
29
 
29
30
  ## Pattern Examples
@@ -35,12 +36,13 @@ With progressive capability:
35
36
  **Implementation:** Each tool is verified by executing its version command — presence in PATH is insufficient. The tier is the highest level where all required tools pass verification:
36
37
 
37
38
  ```
38
- ast-grep --version → required for Forge
39
+ ast-grep --version → required for Forge and above
40
+ ccc --help + ccc doctor → required for Forge+
39
41
  gh --version → required for Deep
40
42
  qmd status → required for Deep
41
43
  ```
42
44
 
43
- If ast-grep passes but gh fails, the tier is Forge (not a "degraded Deep").
45
+ If ast-grep passes but gh fails, the tier is Forge (not a "degraded Deep"). If ast-grep and ccc pass but gh and qmd fail, the tier is Forge+ (not a "degraded Deep").
44
46
 
45
47
  **Key Points:**
46
48
  - Tools must be functional, not just installed
@@ -59,6 +61,10 @@ Quick: "Fast, template-driven skill creation — package-name resolution and
59
61
  Forge: "AST-backed structural analysis — line-level citations with verified
60
62
  signatures. Precision-focused compilation."
61
63
 
64
+ Forge+: "Semantic-guided precision compilation — cocoindex-code maps the codebase
65
+ semantically before AST extraction runs. Every skill begins with a ranked
66
+ discovery pass, then AST-backed verification."
67
+
62
68
  Deep: "Full intelligence pipeline — AST verification plus GitHub exploration
63
69
  and QMD knowledge synthesis. Maximum provenance depth."
64
70
  ```
@@ -75,6 +81,7 @@ Deep: "Full intelligence pipeline — AST verification plus GitHub exploration
75
81
  **Implementation:**
76
82
  - **Quick:** Reads source files, applies pattern matching for exports and signatures, produces T1-low citations. Uses `gh_bridge` for file structure when available as a convenience, not a requirement.
77
83
  - **Forge:** Uses `ast_bridge.scan_definitions()` for structural parsing, produces T1 citations with exact AST node types. Falls back to source reading for files ast-grep cannot parse.
84
+ - **Forge+:** Identical extraction to Forge, plus ccc semantic pre-discovery narrows the file set before ast-grep runs. For large codebases, `ccc_bridge.search()` produces a ranked candidate list. ast-grep operates on that list rather than the full tree. All results remain T1 (AST-verified) — ccc is upstream, not in the extraction chain.
78
85
  - **Deep:** Identical extraction to Forge, plus QMD enrichment in a separate step. T2 annotations layer on top of the T1 base without replacing it.
79
86
 
80
87
  **Key Points:**
@@ -87,8 +94,10 @@ Deep: "Full intelligence pipeline — AST verification plus GitHub exploration
87
94
  **Context:** The test-skill workflow adjusts scoring weights based on the forge tier.
88
95
 
89
96
  **Implementation:**
90
- - **Quick (Naive mode):** Export Coverage 45%, Signature Accuracy 25%, Type Coverage 20%, External Validation 10%. No coherence check AST verification unavailable. When external validation tools (skill-check, tessl) are unavailable, their 10% is redistributed proportionally across the remaining categories.
91
- - **Forge (Contextual mode):** Export Coverage 40%, Signature Accuracy 25%, Type Coverage 15%, Coherence 20%. Full AST-backed verification.
97
+ - **Forge/Deep (Naive mode — individual skill):** Coherence weight (18%) redistributed to remaining categories: Export Coverage 45%, Signature Accuracy 25%, Type Coverage 20%, External Validation 10%. All four active categories are scored with AST-backed data.
98
+ - **Quick (any mode):** Signature Accuracy and Type Coverage are skipped (no AST available). Their weights redistribute proportionally to remaining active categories. For a Quick-tier individual skill (naive mode): after both adjustments (coherence removal + AST-dependent category removal), only Export Coverage and External Validation remain active — approximate redistributed weights: Export Coverage ~82%, External Validation ~18% (exact values depend on proportional redistribution; see scoring-rules.md for the calculation). When external validation tools (skill-check, tessl) are also unavailable, their weight is further redistributed, leaving Export Coverage as the sole scoring axis.
99
+ - **Forge (Contextual mode):** Export Coverage 36%, Signature Accuracy 22%, Type Coverage 14%, Coherence 18%, External Validation 10%. Full AST-backed verification. When external validation tools are unavailable, their 10% is redistributed proportionally.
100
+ - **Forge+ (Contextual mode):** Same weights as Forge. The improved extraction coverage (from ccc pre-ranking) may increase T1 count and reduce gaps, but the scoring weights themselves do not change.
92
101
  - **Deep (Contextual mode):** Same weights as Forge, plus cross-repo verification and QMD coherence checks feed into the coherence score.
93
102
 
94
103
  **Key Points:**
@@ -104,7 +113,7 @@ When a tool becomes unavailable mid-session (e.g., ast-grep uninstalled between
104
113
  3. New extractions use the current tier's capabilities
105
114
  4. The tier change is logged in the sidecar for audit trail
106
115
 
107
- When source is remote (GitHub URL) and tier is Forge or Deep:
116
+ When source is remote (GitHub URL) and tier is Forge, Forge+, or Deep:
108
117
  1. AST extraction requires local files — ast-grep cannot operate on remote URLs
109
118
  2. The extraction step attempts an **ephemeral shallow clone** to a system temp path (if `git` is available)
110
119
  3. If the clone succeeds: AST extraction proceeds on the local clone, then the temp directory is cleaned up
@@ -48,6 +48,7 @@ qmd_collections:
48
48
  | --- | --- | --- | --- |
49
49
  | `extraction` | create-skill step-07 | Compiled SKILL.md, references, context-snippet — structured, confidence-rated exports | audit-skill (drift detection), update-skill (T2 enrichment) |
50
50
  | `brief` | brief-skill step-05 | skill-brief.yaml — intent, scope, target repository metadata | Portfolio-level search (cross-skill deduplication) |
51
+ | `temporal` | create-skill step-03b | GitHub issues, PRs, releases, changelogs — historical and planned context at T2 confidence | step-04 enrichment (temporal annotations per exported function) |
51
52
  | `docs` | create-skill step-03c | Fetched external documentation — API references, guides, usage examples (T3 confidence) | step-04 enrichment (cross-reference doc context with source-extracted functions) |
52
53
 
53
54
  ### Lifecycle
@@ -55,11 +56,13 @@ qmd_collections:
55
56
  ```
56
57
  brief-skill writes brief → indexes {name}-brief → registers in forge-tier.yaml
57
58
 
59
+ create-skill fetches temporal context → indexes {name}-temporal → registers in forge-tier.yaml (Deep only)
60
+
58
61
  create-skill fetches docs → indexes {name}-docs → registers in forge-tier.yaml (Deep only)
59
62
 
60
63
  create-skill compiles skill → indexes {name}-extraction → registers in forge-tier.yaml
61
64
 
62
- audit-skill reads registry → queries {name}-extraction for temporal context
65
+ audit-skill reads registry → queries {name}-extraction for drift baseline
63
66
  update-skill reads registry → queries {name}-extraction for T2 enrichment
64
67
 
65
68
  setup-forge reads registry + QMD state → cleans orphans, removes stale entries
@@ -95,6 +98,20 @@ Human readability alone is not sufficient justification — the file is already
95
98
 
96
99
  **Rejection reason:** Decision artifact, not a compilation input. The analyze-source report tells users which skills to create, but create-stack-skill works from individual skill artifacts, not the analysis report. The only consumer would be a human reading the file — which they can do directly.
97
100
 
101
+ ## Relationship to CCC Index Registry
102
+
103
+ The `ccc_index_registry` array in forge-tier.yaml is a **parallel but separate** registry from `qmd_collections`. They track different things:
104
+
105
+ | Aspect | QMD Collections | CCC Index Registry |
106
+ |--------|----------------|-------------------|
107
+ | **What is indexed** | Curated workflow artifacts (SKILL.md, briefs, temporal data) | Source code (the actual codebase) |
108
+ | **Index engine** | QMD (BM25 + optional vector search) | cocoindex-code (AST + vector embeddings) |
109
+ | **Lifecycle** | Per-skill: created by create-skill, consumed by audit/update-skill | Per-project: created by setup-forge, verified by create-skill |
110
+ | **Janitor** | setup-forge step-03 (orphan/stale QMD collection cleanup) | setup-forge step-03 section 5b (stale path cleanup) |
111
+ | **Availability** | Deep tier only | Forge+ and Deep tiers |
112
+
113
+ These registries are orthogonal — they never reference each other, and their janitor sections operate independently.
114
+
98
115
  ## Pattern Examples
99
116
 
100
117
  ### Example 1: Producer Registration (create-skill)
@@ -2,11 +2,13 @@ id,name,description,tags,tier,fragment_file
2
2
  overview,Knowledge Overview,"Entry point — knowledge map, JiT loading protocol, relationship to workflow data/ files","knowledge,navigation,jit-loading",core,knowledge/overview.md
3
3
  zero-hallucination,Zero Hallucination Principle,"Foundational principle — uncitable content is excluded not guessed, every claim traces to source","integrity,provenance,extraction",core,knowledge/zero-hallucination.md
4
4
  confidence-tiers,Confidence Tiers,"Trust model — T1/T1-low/T2/T3 labels, citation formats, tier interaction rules","confidence,citations,evidence,tiers",core,knowledge/confidence-tiers.md
5
- progressive-capability,Progressive Capability,"Quick/Forge/Deep philosophy — every tier is legitimate, positive framing, graceful degradation","tiers,quick,forge,deep,capability",core,knowledge/progressive-capability.md
5
+ progressive-capability,Progressive Capability,"Quick/Forge/Forge+/Deep philosophy — every tier is legitimate, positive framing, graceful degradation","tiers,quick,forge,forge+,deep,capability",core,knowledge/progressive-capability.md
6
+ ccc-bridge,CCC Bridge,"cocoindex-code semantic discovery — ccc_bridge interface, indexing lifecycle, Forge+ tier, discovery-before-extraction principle","ccc,cocoindex,semantic,discovery,forge+,bridge",core,knowledge/ccc-bridge.md
6
7
  agentskills-spec,agentskills.io Specification,"Format principles — frontmatter, progressive disclosure, directory structure, compliance rules, MCP tool naming, script quality, development methodology","agentskills,format,compliance,output,mcp,scripts,methodology",core,knowledge/agentskills-spec.md
7
8
  skill-lifecycle,Skill Lifecycle,"End-to-end pipeline — workflow connections, artifact flow, decision rules for workflow selection","lifecycle,pipeline,workflows,artifacts",core,knowledge/skill-lifecycle.md
8
9
  provenance-tracking,Provenance Tracking,"Provenance mechanism — provenance-map.json entries and file_entries, evidence reports, claim traceability","provenance,evidence,traceability,citations,file-entries",core,knowledge/provenance-tracking.md
9
10
  manual-section-integrity,Manual Section Integrity,"[MANUAL] preservation — marker format, merge algorithm, orphan detection","manual,preservation,merge,markers",core,knowledge/manual-section-integrity.md
10
11
  qmd-registry,QMD Collection Registry,"Progressive registry architecture — producer/consumer/janitor roles, collection gate principle, forge-tier.yaml registry schema","qmd,registry,collections,deep,indexing",core,knowledge/qmd-registry.md
11
12
  doc-fetcher,Doc Fetcher,"T3 external documentation — tool-agnostic URL fetching, quarantine rules, conflict resolution","doc-fetcher,t3,external,documentation,quarantine",extended,knowledge/doc-fetcher.md
13
+ architecture-verification,Architecture Verification,"Pre-code verification pipeline — VS/RA/SS-compose lifecycle, integration verdicts, coverage analysis, iteration loop","architecture,verification,stack,feasibility,integration,vs,ra,ss,compose",core,knowledge/architecture-verification.md
12
14
  split-body-strategy,Split-Body Strategy,"Selective split guidance — detection pattern, recommended approach, impact on tessl scores and snippet anchors","split-body,selective-split,references,body-size",core,knowledge/split-body-strategy.md