its-magic 0.1.2-9 → 0.1.3-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 (237) hide show
  1. package/README.md +1602 -755
  2. package/bin/its-magic.js +121 -11
  3. package/bin/postinstall.js +93 -0
  4. package/installer.ps1 +759 -0
  5. package/installer.py +1036 -0
  6. package/installer.sh +649 -0
  7. package/package.json +18 -14
  8. package/scripts/check_intake_template_parity.py +312 -0
  9. package/scripts/doc_profile_lib.py +415 -0
  10. package/scripts/guard_installer_publish.py +88 -0
  11. package/scripts/intake_bug_routing_guard.py +67 -0
  12. package/scripts/intake_evidence_lib.py +802 -0
  13. package/scripts/intake_evidence_validate.py +73 -0
  14. package/scripts/materialize_codebase_map.py +184 -0
  15. package/scripts/remote_config_summary.py +243 -0
  16. package/template/.cursor/agents/curator.mdc +35 -0
  17. package/template/.cursor/agents/dev.mdc +29 -0
  18. package/template/.cursor/agents/po.mdc +141 -0
  19. package/template/.cursor/agents/qa.mdc +28 -0
  20. package/template/.cursor/agents/release.mdc +28 -0
  21. package/template/.cursor/agents/security.mdc +98 -0
  22. package/template/.cursor/agents/tech-lead.mdc +57 -0
  23. package/template/.cursor/commands/architecture.md +127 -0
  24. package/template/.cursor/commands/ask.md +55 -0
  25. package/template/.cursor/commands/auto.md +533 -0
  26. package/template/.cursor/commands/discovery.md +47 -0
  27. package/template/.cursor/commands/execute.md +343 -0
  28. package/template/.cursor/commands/intake.md +323 -0
  29. package/template/.cursor/commands/map-codebase.md +46 -0
  30. package/template/.cursor/commands/memory-audit.md +175 -0
  31. package/template/.cursor/commands/milestone-complete.md +51 -0
  32. package/template/.cursor/commands/milestone-start.md +59 -0
  33. package/template/.cursor/commands/pause.md +64 -0
  34. package/{.cursor/commands/gsd-phase-context.md → template/.cursor/commands/phase-context.md} +6 -2
  35. package/template/.cursor/commands/plan-verify.md +34 -0
  36. package/template/.cursor/commands/qa.md +226 -0
  37. package/template/.cursor/commands/quick.md +41 -0
  38. package/template/.cursor/commands/refresh-context.md +82 -0
  39. package/template/.cursor/commands/release.md +523 -0
  40. package/template/.cursor/commands/research.md +49 -0
  41. package/template/.cursor/commands/resume.md +67 -0
  42. package/template/.cursor/commands/security-review.md +81 -0
  43. package/template/.cursor/commands/sprint-plan.md +103 -0
  44. package/template/.cursor/commands/status-reconcile.md +95 -0
  45. package/template/.cursor/commands/verify-work.md +152 -0
  46. package/template/.cursor/dev-environment.json.example +22 -0
  47. package/{.cursor → template/.cursor}/hooks/README.md +3 -2
  48. package/{.cursor/hooks/gsd-hook.py → template/.cursor/hooks/hook.py} +15 -6
  49. package/template/.cursor/hooks.json +26 -0
  50. package/template/.cursor/remote.json +31 -0
  51. package/template/.cursor/rules/caveman.mdc +184 -0
  52. package/template/.cursor/rules/coding-standards.mdc +39 -0
  53. package/template/.cursor/rules/core.mdc +111 -0
  54. package/template/.cursor/rules/handoffs.mdc +27 -0
  55. package/template/.cursor/rules/quality.mdc +49 -0
  56. package/template/.cursor/scratchpad.local.example.md +323 -0
  57. package/template/.cursor/scratchpad.md +324 -0
  58. package/{.cursor/skills/gsd-team → template/.cursor/skills/its-magic}/SKILL.md +2 -2
  59. package/template/.cursorignore +6 -0
  60. package/template/.env.example +28 -0
  61. package/template/.github/workflows/ci.yml +194 -0
  62. package/{.github → template/.github}/workflows/deploy.yml +5 -2
  63. package/template/.its-magic-version +1 -0
  64. package/template/CHANGELOG.md +11 -0
  65. package/template/README.md +1602 -0
  66. package/template/decisions/DEC-0001.md +11 -0
  67. package/template/decisions/DEC-0002.md +11 -0
  68. package/template/docs/developer/README.md +44 -0
  69. package/template/docs/engineering/architecture.md +9 -0
  70. package/template/docs/engineering/artifact-ordering-policy.md +48 -0
  71. package/template/docs/engineering/artifact-ownership-policy.md +57 -0
  72. package/template/docs/engineering/auto-orchestration-reference.md +1211 -0
  73. package/{docs → template/docs}/engineering/codebase-map.md +0 -5
  74. package/template/docs/engineering/compatibility-report.md +20 -0
  75. package/template/docs/engineering/compatibility-signals.md +7 -0
  76. package/template/docs/engineering/component-scope-report.md +16 -0
  77. package/template/docs/engineering/component-scope.md +19 -0
  78. package/template/docs/engineering/context/installer-owned-paths.manifest +96 -0
  79. package/template/docs/engineering/context/readme-section-affinity.json +30 -0
  80. package/template/docs/engineering/decisions.md +16 -0
  81. package/template/docs/engineering/legacy-drift-audit.md +21 -0
  82. package/template/docs/engineering/manifests/components/api-gateway.manifest.yaml +12 -0
  83. package/template/docs/engineering/manifests/registry.manifest.yaml +20 -0
  84. package/template/docs/engineering/manifests/repo.manifest.yaml +11 -0
  85. package/template/docs/engineering/phase-context.md +16 -0
  86. package/template/docs/engineering/release-targets.json +123 -0
  87. package/template/docs/engineering/research.md +29 -0
  88. package/template/docs/engineering/runbook.md +2391 -0
  89. package/template/docs/engineering/runtime-connectivity.md +81 -0
  90. package/template/docs/engineering/security-review.md +33 -0
  91. package/template/docs/engineering/spec-pack/README.md +20 -0
  92. package/template/docs/engineering/state-archive/README.md +15 -0
  93. package/template/docs/engineering/state.md +20 -0
  94. package/template/docs/engineering/status-normalization-report.md +19 -0
  95. package/template/docs/engineering/token-cost-parity-manifest.md +16 -0
  96. package/template/docs/engineering/us-0084-remote-e2e.md +44 -0
  97. package/template/docs/product/acceptance.md +1 -0
  98. package/template/docs/product/backlog.md +5 -0
  99. package/template/docs/product/vision.md +11 -0
  100. package/template/docs/user-guides/README.md +40 -0
  101. package/{handoffs → template/handoffs}/dev_to_qa.md +0 -3
  102. package/{handoffs → template/handoffs}/po_to_tl.md +0 -3
  103. package/{handoffs → template/handoffs}/qa_to_dev.md +1 -2
  104. package/template/handoffs/release_notes.md +51 -0
  105. package/template/handoffs/release_queue.md +47 -0
  106. package/template/handoffs/release_to_dev.md +31 -0
  107. package/template/handoffs/releases/Sxxxx-release-notes.md +62 -0
  108. package/template/handoffs/releases/vX.Y.Z-release-notes.md.example +21 -0
  109. package/template/handoffs/resume_brief.md +14 -0
  110. package/{handoffs → template/handoffs}/tl_to_dev.md +0 -2
  111. package/template/handoffs/token_cost_runs/README.md +26 -0
  112. package/template/its_magic/.its-magic-version +1 -0
  113. package/template/its_magic/README.md +9 -0
  114. package/template/scripts/auto_outer_driver.py +521 -0
  115. package/template/scripts/caveman_compress_input.py +903 -0
  116. package/template/scripts/check_downstream_ci_guard.py +67 -0
  117. package/template/scripts/check_intake_template_parity.py +312 -0
  118. package/template/scripts/check_token_cost_parity.py +69 -0
  119. package/template/scripts/dev_environment_lib.py +601 -0
  120. package/template/scripts/doc_profile_lib.py +415 -0
  121. package/template/scripts/downstream_ci_guard_lib.py +222 -0
  122. package/template/scripts/enforce-triad-hot-surface.py +753 -0
  123. package/template/scripts/guard_installer_publish.py +88 -0
  124. package/template/scripts/intake_bug_resume_brief_refresh.py +303 -0
  125. package/template/scripts/intake_bug_routing_guard.py +67 -0
  126. package/template/scripts/intake_evidence_lib.py +802 -0
  127. package/template/scripts/intake_evidence_validate.py +73 -0
  128. package/template/scripts/materialize_codebase_map.py +184 -0
  129. package/template/scripts/pack_json_validate.py +130 -0
  130. package/template/scripts/project_readme_coverage_lib.py +417 -0
  131. package/template/scripts/readme_feature_coverage_lib.py +608 -0
  132. package/{scripts → template/scripts}/release-all.sh +27 -4
  133. package/template/scripts/release_changelog_backfill.py +153 -0
  134. package/template/scripts/release_changelog_lib.py +544 -0
  135. package/template/scripts/release_changelog_validate.py +134 -0
  136. package/template/scripts/remote_config_summary.py +243 -0
  137. package/template/scripts/sync_push_gates.py +198 -0
  138. package/template/scripts/token_cost_compare.py +40 -0
  139. package/template/scripts/token_cost_lib.py +108 -0
  140. package/template/scripts/uat_probe_lib.py +868 -0
  141. package/template/scripts/validate-and-push.ps1 +280 -0
  142. package/template/scripts/validate-and-push.sh +243 -0
  143. package/template/scripts/validate_doc_profile.py +103 -0
  144. package/template/scripts/validate_project_readme_coverage.py +151 -0
  145. package/template/scripts/validate_readme_feature_coverage.py +140 -0
  146. package/template/sprints/S0001/progress.md +1 -0
  147. package/template/sprints/S0001/qa-findings.md +9 -0
  148. package/template/sprints/S0001/release-findings.md +24 -0
  149. package/template/sprints/S0001/sprint.md +9 -0
  150. package/template/sprints/S0001/summary.md +7 -0
  151. package/template/sprints/S0001/tasks.md +1 -0
  152. package/template/sprints/S0001/uat.json +6 -0
  153. package/template/sprints/S0001/uat.md +5 -0
  154. package/template/sprints/quick/Q0001/summary.md +1 -0
  155. package/{sprints → template/sprints}/quick/Q0001/task.json +0 -1
  156. package/.cursor/agents/curator.mdc +0 -21
  157. package/.cursor/agents/dev.mdc +0 -20
  158. package/.cursor/agents/po.mdc +0 -19
  159. package/.cursor/agents/qa.mdc +0 -19
  160. package/.cursor/agents/release.mdc +0 -19
  161. package/.cursor/agents/tech-lead.mdc +0 -21
  162. package/.cursor/commands/gsd-architecture.md +0 -29
  163. package/.cursor/commands/gsd-auto.md +0 -27
  164. package/.cursor/commands/gsd-discovery.md +0 -27
  165. package/.cursor/commands/gsd-execute.md +0 -32
  166. package/.cursor/commands/gsd-intake.md +0 -28
  167. package/.cursor/commands/gsd-map-codebase.md +0 -25
  168. package/.cursor/commands/gsd-milestone-complete.md +0 -24
  169. package/.cursor/commands/gsd-milestone-start.md +0 -26
  170. package/.cursor/commands/gsd-pause.md +0 -25
  171. package/.cursor/commands/gsd-plan-verify.md +0 -26
  172. package/.cursor/commands/gsd-qa.md +0 -28
  173. package/.cursor/commands/gsd-quick.md +0 -24
  174. package/.cursor/commands/gsd-refresh-context.md +0 -26
  175. package/.cursor/commands/gsd-release.md +0 -29
  176. package/.cursor/commands/gsd-research.md +0 -28
  177. package/.cursor/commands/gsd-resume.md +0 -26
  178. package/.cursor/commands/gsd-sprint-plan.md +0 -30
  179. package/.cursor/commands/gsd-verify-work.md +0 -25
  180. package/.cursor/hooks.json +0 -26
  181. package/.cursor/plans/cursor-gsd-team-kit_8cfee9b8.plan.md +0 -57
  182. package/.cursor/remote.json +0 -18
  183. package/.cursor/rules/gsd-core.mdc +0 -18
  184. package/.cursor/rules/gsd-handoffs.mdc +0 -10
  185. package/.cursor/rules/gsd-quality.mdc +0 -15
  186. package/.cursor/scratchpad.md +0 -34
  187. package/.github/workflows/ci.yml +0 -47
  188. package/decisions/DEC-0001.md +0 -21
  189. package/decisions/DEC-0002.md +0 -21
  190. package/docs/engineering/architecture.md +0 -354
  191. package/docs/engineering/decisions.md +0 -6
  192. package/docs/engineering/research.md +0 -11
  193. package/docs/engineering/runbook.md +0 -32
  194. package/docs/engineering/state.md +0 -33
  195. package/docs/product/acceptance.md +0 -6
  196. package/docs/product/backlog.md +0 -7
  197. package/docs/product/vision.md +0 -46
  198. package/gsd-installer.ps1 +0 -189
  199. package/gsd-installer.py +0 -195
  200. package/gsd-installer.sh +0 -201
  201. package/handoffs/release_notes.md +0 -14
  202. package/handoffs/resume_brief.md +0 -8
  203. package/milestones/M0001/milestone.json +0 -7
  204. package/milestones/M0001/phases.json +0 -9
  205. package/milestones/M0001/progress.md +0 -3
  206. package/milestones/M0001/summary.md +0 -3
  207. package/scripts/generate-release-notes.ps1 +0 -74
  208. package/scripts/generate-release-notes.sh +0 -63
  209. package/scripts/release-all.ps1 +0 -423
  210. package/sprints/S0001/progress.md +0 -4
  211. package/sprints/S0001/qa-findings.md +0 -113
  212. package/sprints/S0001/sprint.md +0 -70
  213. package/sprints/S0001/summary.md +0 -46
  214. package/sprints/S0001/tasks.md +0 -35
  215. package/sprints/S0001/uat.json +0 -8
  216. package/sprints/S0001/uat.md +0 -8
  217. package/sprints/quick/Q0001/summary.md +0 -3
  218. /package/{.cursor/rules/gsd-escalation.mdc → template/.cursor/rules/escalation.mdc} +0 -0
  219. /package/{.cursor/skills/gsd-team → template/.cursor/skills/its-magic}/templates/acceptance.json +0 -0
  220. /package/{.cursor/skills/gsd-team → template/.cursor/skills/its-magic}/templates/acceptance.md +0 -0
  221. /package/{.cursor/skills/gsd-team → template/.cursor/skills/its-magic}/templates/architecture.json +0 -0
  222. /package/{.cursor/skills/gsd-team → template/.cursor/skills/its-magic}/templates/architecture.md +0 -0
  223. /package/{.cursor/skills/gsd-team → template/.cursor/skills/its-magic}/templates/decision.json +0 -0
  224. /package/{.cursor/skills/gsd-team → template/.cursor/skills/its-magic}/templates/decision.md +0 -0
  225. /package/{.cursor/skills/gsd-team → template/.cursor/skills/its-magic}/templates/handoff.json +0 -0
  226. /package/{.cursor/skills/gsd-team → template/.cursor/skills/its-magic}/templates/handoff.md +0 -0
  227. /package/{.cursor/skills/gsd-team → template/.cursor/skills/its-magic}/templates/milestone.json +0 -0
  228. /package/{.cursor/skills/gsd-team → template/.cursor/skills/its-magic}/templates/phase-context.json +0 -0
  229. /package/{.cursor/skills/gsd-team → template/.cursor/skills/its-magic}/templates/plan-verify.json +0 -0
  230. /package/{.cursor/skills/gsd-team → template/.cursor/skills/its-magic}/templates/sprint.json +0 -0
  231. /package/{.cursor/skills/gsd-team → template/.cursor/skills/its-magic}/templates/sprint.md +0 -0
  232. /package/{.cursor/skills/gsd-team → template/.cursor/skills/its-magic}/templates/story.json +0 -0
  233. /package/{.cursor/skills/gsd-team → template/.cursor/skills/its-magic}/templates/story.md +0 -0
  234. /package/{.cursor/skills/gsd-team → template/.cursor/skills/its-magic}/templates/uat.json +0 -0
  235. /package/{docs → template/docs}/engineering/context/phase-template.json +0 -0
  236. /package/{docs → template/docs}/engineering/dependencies.json +0 -0
  237. /package/{sprints → template/sprints}/S0001/plan-verify.json +0 -0
@@ -1,14 +1,9 @@
1
1
  # Codebase Map
2
2
 
3
3
  ## Stack
4
- - ...
5
4
 
6
5
  ## Entry Points
7
- - ...
8
6
 
9
7
  ## Key Modules
10
- - ...
11
8
 
12
9
  ## Conventions
13
- - ...
14
-
@@ -0,0 +1,20 @@
1
+ # Compatibility Report
2
+
3
+ - Mode: optional (`CROSS_REPO_OBSERVABILITY`)
4
+ - Scope: workflow-level compatibility visibility and risk reporting
5
+ - Status: advisory unless critical-gate policy is enabled
6
+
7
+ ## Findings
8
+
9
+ | Finding ID | Story | Producer | Consumer | Severity | Evidence | Recommended action | Gate recommendation |
10
+ |---|---|---|---|---|---|---|---|
11
+ | (none yet) | - | - | - | - | - | - | - |
12
+
13
+ ## Summary
14
+
15
+ - Critical: 0
16
+ - High: 0
17
+ - Medium: 0
18
+ - Low: 0
19
+ - Info: 0
20
+ - Overall: PASS
@@ -0,0 +1,7 @@
1
+ # Compatibility Signals
2
+
3
+ Structured contract-change signals for optional cross-repo observability mode.
4
+
5
+ ## Entries
6
+
7
+ (No compatibility signals recorded yet.)
@@ -0,0 +1,16 @@
1
+ # Component Scope Report
2
+
3
+ - Story: US-xxxx
4
+ - Scope mode: optional (`COMPONENT_SCOPE_MODE`)
5
+ - Overall: N/A (no checks run yet)
6
+
7
+ ## Protection checks
8
+
9
+ | Check ID | Target components | Non-target components | Result | Evidence |
10
+ |---|---|---|---|---|
11
+ | (none yet) | - | - | - | - |
12
+
13
+ ## Findings
14
+
15
+ - Blocking: none
16
+ - Non-blocking: none
@@ -0,0 +1,19 @@
1
+ # Component Scope
2
+
3
+ - Mode: optional (`COMPONENT_SCOPE_MODE`)
4
+ - Story: US-xxxx
5
+
6
+ ## Scope declaration
7
+
8
+ - scope_mode: off
9
+ - target_components:
10
+ - (set when enabled)
11
+ - non_target_components:
12
+ - (set when enabled)
13
+ - allowed_interface_touch:
14
+ - (set when enabled)
15
+ - out_of_scope_constraints:
16
+ - no intentional edits in non-target components without explicit approval
17
+ - approval_policy:
18
+ - required: false
19
+ - source: decision/handoff artifact
@@ -0,0 +1,96 @@
1
+ # its-magic installer ownership manifest
2
+ # Sections are line-based path lists.
3
+ #
4
+ # Model B baseline: materialized scratchpad (under .cursor/) is not manifest-copied;
5
+ # installers copy it from packaged template during post-install only. Framework-owned
6
+ # scratchpad.local.example (under .cursor/) refreshes from template before baseline
7
+ # handling in installer.py --scratchpad-postinstall (example-first ordering).
8
+
9
+ [install_include_paths]
10
+ .cursor/commands
11
+ .cursor/rules
12
+ .cursor/skills
13
+ .cursor/agents
14
+ .cursor/hooks
15
+ .cursor/hooks.json
16
+ .cursor/scratchpad.local.example.md
17
+ docs
18
+ sprints
19
+ handoffs
20
+ decisions
21
+ scripts/validate-and-push.ps1
22
+ scripts/validate-and-push.sh
23
+ scripts/sync_push_gates.py
24
+ scripts/doc_profile_lib.py
25
+ scripts/validate_doc_profile.py
26
+ scripts/intake_evidence_validate.py
27
+ scripts/intake_evidence_lib.py
28
+ scripts/intake_bug_routing_guard.py
29
+ scripts/check_intake_template_parity.py
30
+ scripts/materialize_codebase_map.py
31
+ scripts/remote_config_summary.py
32
+ scripts/guard_installer_publish.py
33
+ scripts/enforce-triad-hot-surface.py
34
+ scripts/caveman_compress_input.py
35
+ scripts/readme_feature_coverage_lib.py
36
+ scripts/validate_readme_feature_coverage.py
37
+ scripts/check_downstream_ci_guard.py
38
+ scripts/downstream_ci_guard_lib.py
39
+ scripts/auto_outer_driver.py
40
+ scripts/uat_probe_lib.py
41
+ scripts/project_readme_coverage_lib.py
42
+ scripts/validate_project_readme_coverage.py
43
+ .github/workflows
44
+ its_magic
45
+
46
+ [clean_paths]
47
+ .cursor
48
+ docs/product
49
+ docs/engineering
50
+ docs/developer
51
+ docs/user-guides
52
+ sprints
53
+ handoffs
54
+ decisions
55
+ scripts/validate-and-push.ps1
56
+ scripts/validate-and-push.sh
57
+ scripts/sync_push_gates.py
58
+ scripts/doc_profile_lib.py
59
+ scripts/validate_doc_profile.py
60
+ scripts/intake_evidence_validate.py
61
+ scripts/intake_evidence_lib.py
62
+ scripts/intake_bug_routing_guard.py
63
+ scripts/check_intake_template_parity.py
64
+ scripts/materialize_codebase_map.py
65
+ scripts/remote_config_summary.py
66
+ scripts/guard_installer_publish.py
67
+ scripts/enforce-triad-hot-surface.py
68
+ scripts/caveman_compress_input.py
69
+ scripts/readme_feature_coverage_lib.py
70
+ scripts/validate_readme_feature_coverage.py
71
+ scripts/check_downstream_ci_guard.py
72
+ scripts/downstream_ci_guard_lib.py
73
+ scripts/auto_outer_driver.py
74
+ scripts/uat_probe_lib.py
75
+ scripts/project_readme_coverage_lib.py
76
+ scripts/validate_project_readme_coverage.py
77
+ .github/workflows/ci.yml
78
+ .github/workflows/deploy.yml
79
+ its_magic
80
+ .its-magic-version
81
+
82
+ [required_install_script_paths]
83
+ scripts/validate-and-push.ps1
84
+ scripts/validate-and-push.sh
85
+ scripts/sync_push_gates.py
86
+ scripts/doc_profile_lib.py
87
+ scripts/validate_doc_profile.py
88
+ scripts/intake_evidence_validate.py
89
+ scripts/intake_evidence_lib.py
90
+ scripts/intake_bug_routing_guard.py
91
+ scripts/check_intake_template_parity.py
92
+ scripts/materialize_codebase_map.py
93
+ scripts/remote_config_summary.py
94
+ scripts/guard_installer_publish.py
95
+ scripts/enforce-triad-hot-surface.py
96
+ scripts/caveman_compress_input.py
@@ -0,0 +1,30 @@
1
+ {
2
+ "affinity_version": 1,
3
+ "rules": [
4
+ {
5
+ "dev_h2": "Workflow",
6
+ "root_h2": "Commands and workflow",
7
+ "tag": "slash_command"
8
+ },
9
+ {
10
+ "dev_h2": "Quality gates",
11
+ "root_h2": "Other useful capabilities",
12
+ "tag": "scratchpad_mode"
13
+ },
14
+ {
15
+ "dev_h2": "Architecture notes",
16
+ "root_h2": "Features",
17
+ "tag": "distribution"
18
+ },
19
+ {
20
+ "dev_h2": "Quality gates",
21
+ "root_h2": "Commands and workflow",
22
+ "tag": "release_gate"
23
+ },
24
+ {
25
+ "dev_h2": "Engineering decisions",
26
+ "root_h2": "Other useful capabilities",
27
+ "tag": "governance"
28
+ }
29
+ ]
30
+ }
@@ -0,0 +1,16 @@
1
+ # Decisions
2
+
3
+ ## Current context pack
4
+
5
+ - Latest completed/released stories: none yet (clean template baseline).
6
+ - Active in-flight story: none yet.
7
+ - No decision gate is currently open at workflow boundary.
8
+
9
+ ## Compact decision index (bounded summaries)
10
+
11
+ - (none yet) Add bounded decision summaries here as `DEC-xxxx` records are
12
+ accepted.
13
+
14
+ ## Canonical full records
15
+
16
+ - Full records live in decisions/DEC-xxxx.md.
@@ -0,0 +1,21 @@
1
+ # Legacy drift audit (US-0049)
2
+
3
+ Append-only audit log for legacy DONE-story acceptance/traceability drift
4
+ detection and repair. Per DEC-0031; canonical path for one-time backfill and
5
+ ongoing guard outputs.
6
+
7
+ ## Schema (required fields per entry)
8
+
9
+ | Field | Description |
10
+ |-------|-------------|
11
+ | story_id | Backlog story ID (e.g. US-xxxx) |
12
+ | prior_acceptance_state | Acceptance checklist state before repair (e.g. unchecked) |
13
+ | prior_traceability_state | Traceability/state entry presence before repair |
14
+ | resolved_state | State(s) after repair or guard action |
15
+ | reason_code | One of: BACKLOG_DONE_ACCEPTANCE_UNCHECKED, BACKLOG_DONE_TRACEABILITY_MISSING, BACKLOG_DONE_RELEASE_ARTIFACT_MISSING |
16
+ | evidence_ref | Reference to evidence used (e.g. release notes path, state.md row) |
17
+ | timestamp | ISO UTC when entry was appended |
18
+
19
+ ## Entries
20
+
21
+ (No drift detected yet; idempotent backfill runs leave this section empty or add "no drift" note.)
@@ -0,0 +1,12 @@
1
+ component_id: api-gateway
2
+ repo_id: example-producer
3
+ owner: team-example
4
+ status: active
5
+ exposed_contracts:
6
+ - contract_id: public-api
7
+ api_spec_ref: contracts/public-api.yaml
8
+ version: 1.0.1
9
+ consumed_contracts: []
10
+ protected_interfaces:
11
+ - interface_id: public-api-v1
12
+ description: Public API contract expected to remain stable for non-target work.
@@ -0,0 +1,20 @@
1
+ schema_version: 1
2
+ generated_at: "2026-03-01T00:00:00Z"
3
+ repos:
4
+ - repo_id: example-producer
5
+ repo_url_or_path: ./example-producer
6
+ owner: team-example
7
+ status: active
8
+ manifest_ref: docs/engineering/manifests/repo.manifest.yaml
9
+ contracts:
10
+ - contract_id: public-api
11
+ producer_repo: example-producer
12
+ producer_component: api-gateway
13
+ contract_ref: contracts/public-api.yaml
14
+ version: 1.0.1
15
+ compatibility_links:
16
+ - contract_id: public-api
17
+ consumer_repo: example-consumer
18
+ consumer_component: web-app
19
+ expected_version_range: ^1.0.0
20
+ criticality: medium
@@ -0,0 +1,11 @@
1
+ schema_version: 1
2
+ repo_id: example-producer
3
+ owner: team-example
4
+ version: 1.0.1
5
+ components:
6
+ - docs/engineering/manifests/components/api-gateway.manifest.yaml
7
+ exports:
8
+ - contract_id: public-api
9
+ version: 1.0.1
10
+ contract_ref: contracts/public-api.yaml
11
+ imports: []
@@ -0,0 +1,16 @@
1
+ # Phase context pointers
2
+
3
+ Use this file as the **first** narrow read for workflow orientation. Expand to
4
+ linked hot or archive paths only when a question stays unresolved after the
5
+ default set (see minimal-read table in `docs/engineering/runbook.md`).
6
+
7
+ | Kind | Path | Notes |
8
+ |------|------|-------|
9
+ | Engineering state (hot) | `docs/engineering/state.md` | Recent checkpoints; archive under `docs/engineering/state-archive/` |
10
+ | Decisions index | `docs/engineering/decisions.md` | Compact index; full records under `decisions/` |
11
+ | PO → TL handoff (hot) | `handoffs/po_to_tl.md` | Narrative handoff; archive under `handoffs/archive/` |
12
+ | Architecture (hot) | `docs/engineering/architecture.md` | Story-shaped sections; archive under `docs/engineering/architecture-archive/` |
13
+ | Triad enforcement | `scripts/enforce-triad-hot-surface.py` | `--check` before phase completion when mutating triad surfaces |
14
+
15
+ Escalation: open the **named archive pack** cited in the latest rollover
16
+ verification tuple for the surface you need, not the entire archive tree.
@@ -0,0 +1,123 @@
1
+ {
2
+ "version": 1,
3
+ "selectionPolicy": "explicit_or_default",
4
+ "runtimeConnectivityDoc": "docs/engineering/runtime-connectivity.md",
5
+ "targets": [
6
+ {
7
+ "id": "npm-public",
8
+ "type": "npm",
9
+ "enabled": false,
10
+ "order": 10,
11
+ "command": "npm publish",
12
+ "workingDirectory": ".",
13
+ "runtime": {
14
+ "mode": "local",
15
+ "protocol": "https",
16
+ "domainEnv": "PUBLIC_DOMAIN",
17
+ "port": 443
18
+ }
19
+ },
20
+ {
21
+ "id": "choco",
22
+ "type": "choco",
23
+ "enabled": false,
24
+ "order": 20,
25
+ "command": "choco push packaging/chocolatey/its-magic.*.nupkg --source %CHOCO_SOURCE%",
26
+ "tokenEnv": "CHOCO_API_KEY",
27
+ "runtime": {
28
+ "mode": "local"
29
+ }
30
+ },
31
+ {
32
+ "id": "brew-tap",
33
+ "type": "brew",
34
+ "enabled": false,
35
+ "order": 30,
36
+ "command": "git push origin HEAD",
37
+ "tokenEnv": "GITHUB_TOKEN",
38
+ "runtime": {
39
+ "mode": "local"
40
+ }
41
+ },
42
+ {
43
+ "id": "dockerhub",
44
+ "type": "docker",
45
+ "enabled": false,
46
+ "order": 40,
47
+ "command": "docker push %DOCKER_IMAGE%",
48
+ "tokenEnv": "DOCKER_TOKEN",
49
+ "runtime": {
50
+ "mode": "remote",
51
+ "hostEnv": "DOCKER_RUNTIME_HOST",
52
+ "port": 443,
53
+ "protocol": "https"
54
+ }
55
+ },
56
+ {
57
+ "id": "aws-deploy",
58
+ "type": "cloud",
59
+ "enabled": false,
60
+ "order": 50,
61
+ "command": "aws deploy create-deployment --application-name %APP_NAME% --deployment-group-name %DEPLOY_GROUP% --s3-location bucket=%S3_BUCKET%,bundleType=zip,key=%BUNDLE_KEY%",
62
+ "credentialEnv": "AWS_PROFILE",
63
+ "runtime": {
64
+ "mode": "remote",
65
+ "domainEnv": "APP_DOMAIN",
66
+ "ipEnv": "APP_IP",
67
+ "port": 443,
68
+ "protocol": "https",
69
+ "traefik": {
70
+ "enabled": false,
71
+ "router": "app",
72
+ "entrypoint": "websecure",
73
+ "tls": true
74
+ }
75
+ }
76
+ },
77
+ {
78
+ "id": "custom-release-hook",
79
+ "type": "custom",
80
+ "enabled": false,
81
+ "order": 60,
82
+ "command": "powershell -ExecutionPolicy Bypass -File scripts/publish-custom.ps1",
83
+ "runtime": {
84
+ "mode": "remote",
85
+ "domainEnv": "CUSTOM_DOMAIN",
86
+ "ipEnv": "CUSTOM_IP",
87
+ "port": 443,
88
+ "protocol": "https"
89
+ }
90
+ },
91
+ {
92
+ "id": "ssh-server",
93
+ "type": "ssh",
94
+ "enabled": false,
95
+ "order": 70,
96
+ "hostEnv": "SSH_HOST",
97
+ "port": 22,
98
+ "userEnv": "SSH_USER",
99
+ "authEnv": "SSH_PRIVATE_KEY",
100
+ "remoteCommand": "cd /opt/its-magic && ./deploy.sh",
101
+ "runtime": {
102
+ "mode": "remote",
103
+ "domainEnv": "RUNTIME_DOMAIN",
104
+ "ipEnv": "RUNTIME_IP",
105
+ "port": 443,
106
+ "protocol": "https",
107
+ "traefik": {
108
+ "enabled": true,
109
+ "router": "its-magic",
110
+ "entrypoint": "websecure",
111
+ "tls": true
112
+ }
113
+ },
114
+ "dockerOverSsh": {
115
+ "enabled": false,
116
+ "dockerHostEnv": "DOCKER_HOST",
117
+ "dockerContextEnv": "DOCKER_CONTEXT",
118
+ "composeFile": "docker-compose.yml",
119
+ "service": "app"
120
+ }
121
+ }
122
+ ]
123
+ }
@@ -0,0 +1,29 @@
1
+ # Research
2
+
3
+ ## Entry format
4
+
5
+ Each research entry uses the R-xxxx ID format with semi-structured fields.
6
+
7
+ **Required fields**: ID (R-xxxx), Date (YYYY-MM-DD), Topic (short description).
8
+ **Optional fields**: Query, Sources, Findings, Linked (US-xxxx/DEC-xxxx refs),
9
+ Confidence (high/medium/low, default: medium), Status (current/outdated/superseded,
10
+ default: current).
11
+
12
+ ### Auto-increment convention
13
+
14
+ Assign the next sequential R-xxxx ID by incrementing from the highest existing
15
+ entry in this file. Before creating a new entry, read this file to determine the
16
+ current highest ID.
17
+
18
+ ### Cross-referencing guidance
19
+
20
+ Reference research entries by ID in other artifacts using the format "per R-xxxx".
21
+ Examples:
22
+ - In decisions: "per R-0001, prompt-level isolation is unreliable"
23
+ - In architecture: "R-0003 confirms the library supports streaming"
24
+ - In handoffs: "see R-0002 for competitor analysis"
25
+
26
+ Agents, commands, and handoffs should cite entry IDs whenever research informed
27
+ a decision or recommendation.
28
+
29
+ ---