its-magic 0.1.2-9 → 0.1.2
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.
- package/README.md +1602 -755
- package/bin/its-magic.js +121 -11
- package/bin/postinstall.js +21 -0
- package/installer.ps1 +759 -0
- package/installer.py +981 -0
- package/installer.sh +649 -0
- package/package.json +18 -14
- package/scripts/check_intake_template_parity.py +284 -0
- package/scripts/doc_profile_lib.py +415 -0
- package/scripts/guard_installer_publish.py +88 -0
- package/scripts/intake_bug_routing_guard.py +67 -0
- package/scripts/intake_evidence_lib.py +802 -0
- package/scripts/intake_evidence_validate.py +73 -0
- package/scripts/materialize_codebase_map.py +184 -0
- package/scripts/remote_config_summary.py +243 -0
- package/template/.cursor/agents/curator.mdc +35 -0
- package/template/.cursor/agents/dev.mdc +29 -0
- package/template/.cursor/agents/po.mdc +141 -0
- package/template/.cursor/agents/qa.mdc +28 -0
- package/template/.cursor/agents/release.mdc +28 -0
- package/template/.cursor/agents/security.mdc +98 -0
- package/template/.cursor/agents/tech-lead.mdc +57 -0
- package/template/.cursor/commands/architecture.md +127 -0
- package/template/.cursor/commands/ask.md +55 -0
- package/template/.cursor/commands/auto.md +533 -0
- package/template/.cursor/commands/discovery.md +47 -0
- package/template/.cursor/commands/execute.md +343 -0
- package/template/.cursor/commands/intake.md +323 -0
- package/template/.cursor/commands/map-codebase.md +46 -0
- package/template/.cursor/commands/memory-audit.md +175 -0
- package/template/.cursor/commands/milestone-complete.md +51 -0
- package/template/.cursor/commands/milestone-start.md +59 -0
- package/template/.cursor/commands/pause.md +64 -0
- package/{.cursor/commands/gsd-phase-context.md → template/.cursor/commands/phase-context.md} +6 -2
- package/template/.cursor/commands/plan-verify.md +34 -0
- package/template/.cursor/commands/qa.md +226 -0
- package/template/.cursor/commands/quick.md +41 -0
- package/template/.cursor/commands/refresh-context.md +82 -0
- package/template/.cursor/commands/release.md +505 -0
- package/template/.cursor/commands/research.md +49 -0
- package/template/.cursor/commands/resume.md +67 -0
- package/template/.cursor/commands/security-review.md +81 -0
- package/template/.cursor/commands/sprint-plan.md +103 -0
- package/template/.cursor/commands/status-reconcile.md +95 -0
- package/template/.cursor/commands/verify-work.md +152 -0
- package/template/.cursor/dev-environment.json.example +22 -0
- package/{.cursor → template/.cursor}/hooks/README.md +3 -2
- package/{.cursor/hooks/gsd-hook.py → template/.cursor/hooks/hook.py} +15 -6
- package/template/.cursor/hooks.json +26 -0
- package/template/.cursor/remote.json +31 -0
- package/template/.cursor/rules/caveman.mdc +184 -0
- package/template/.cursor/rules/coding-standards.mdc +39 -0
- package/template/.cursor/rules/core.mdc +111 -0
- package/template/.cursor/rules/handoffs.mdc +27 -0
- package/template/.cursor/rules/quality.mdc +49 -0
- package/template/.cursor/scratchpad.local.example.md +323 -0
- package/template/.cursor/scratchpad.md +324 -0
- package/{.cursor/skills/gsd-team → template/.cursor/skills/its-magic}/SKILL.md +2 -2
- package/template/.cursorignore +6 -0
- package/template/.env.example +28 -0
- package/template/.github/workflows/ci.yml +194 -0
- package/{.github → template/.github}/workflows/deploy.yml +5 -2
- package/template/.its-magic-version +1 -0
- package/template/README.md +1602 -0
- package/template/decisions/DEC-0001.md +11 -0
- package/template/decisions/DEC-0002.md +11 -0
- package/template/docs/developer/README.md +44 -0
- package/template/docs/engineering/architecture.md +9 -0
- package/template/docs/engineering/artifact-ordering-policy.md +48 -0
- package/template/docs/engineering/artifact-ownership-policy.md +57 -0
- package/template/docs/engineering/auto-orchestration-reference.md +1211 -0
- package/{docs → template/docs}/engineering/codebase-map.md +0 -5
- package/template/docs/engineering/compatibility-report.md +20 -0
- package/template/docs/engineering/compatibility-signals.md +7 -0
- package/template/docs/engineering/component-scope-report.md +16 -0
- package/template/docs/engineering/component-scope.md +19 -0
- package/template/docs/engineering/context/installer-owned-paths.manifest +96 -0
- package/template/docs/engineering/context/readme-section-affinity.json +30 -0
- package/template/docs/engineering/decisions.md +16 -0
- package/template/docs/engineering/legacy-drift-audit.md +21 -0
- package/template/docs/engineering/manifests/components/api-gateway.manifest.yaml +12 -0
- package/template/docs/engineering/manifests/registry.manifest.yaml +20 -0
- package/template/docs/engineering/manifests/repo.manifest.yaml +11 -0
- package/template/docs/engineering/phase-context.md +16 -0
- package/template/docs/engineering/release-targets.json +123 -0
- package/template/docs/engineering/research.md +29 -0
- package/template/docs/engineering/runbook.md +2320 -0
- package/template/docs/engineering/runtime-connectivity.md +81 -0
- package/template/docs/engineering/security-review.md +33 -0
- package/template/docs/engineering/spec-pack/README.md +20 -0
- package/template/docs/engineering/state-archive/README.md +15 -0
- package/template/docs/engineering/state.md +20 -0
- package/template/docs/engineering/status-normalization-report.md +19 -0
- package/template/docs/engineering/token-cost-parity-manifest.md +16 -0
- package/template/docs/engineering/us-0084-remote-e2e.md +44 -0
- package/template/docs/product/acceptance.md +1 -0
- package/template/docs/product/backlog.md +5 -0
- package/template/docs/product/vision.md +11 -0
- package/template/docs/user-guides/README.md +40 -0
- package/{handoffs → template/handoffs}/dev_to_qa.md +0 -3
- package/{handoffs → template/handoffs}/po_to_tl.md +0 -3
- package/{handoffs → template/handoffs}/qa_to_dev.md +1 -2
- package/template/handoffs/release_notes.md +51 -0
- package/template/handoffs/release_queue.md +47 -0
- package/template/handoffs/release_to_dev.md +31 -0
- package/template/handoffs/releases/Sxxxx-release-notes.md +62 -0
- package/template/handoffs/resume_brief.md +14 -0
- package/{handoffs → template/handoffs}/tl_to_dev.md +0 -2
- package/template/handoffs/token_cost_runs/README.md +26 -0
- package/template/its_magic/.its-magic-version +1 -0
- package/template/its_magic/README.md +9 -0
- package/template/scripts/auto_outer_driver.py +521 -0
- package/template/scripts/caveman_compress_input.py +903 -0
- package/template/scripts/check_downstream_ci_guard.py +67 -0
- package/template/scripts/check_intake_template_parity.py +284 -0
- package/template/scripts/check_token_cost_parity.py +69 -0
- package/template/scripts/dev_environment_lib.py +463 -0
- package/template/scripts/doc_profile_lib.py +415 -0
- package/template/scripts/downstream_ci_guard_lib.py +222 -0
- package/template/scripts/enforce-triad-hot-surface.py +753 -0
- package/template/scripts/guard_installer_publish.py +88 -0
- package/template/scripts/intake_bug_resume_brief_refresh.py +303 -0
- package/template/scripts/intake_bug_routing_guard.py +67 -0
- package/template/scripts/intake_evidence_lib.py +802 -0
- package/template/scripts/intake_evidence_validate.py +73 -0
- package/template/scripts/materialize_codebase_map.py +184 -0
- package/template/scripts/pack_json_validate.py +130 -0
- package/template/scripts/project_readme_coverage_lib.py +417 -0
- package/template/scripts/readme_feature_coverage_lib.py +608 -0
- package/template/scripts/remote_config_summary.py +243 -0
- package/template/scripts/sync_push_gates.py +198 -0
- package/template/scripts/token_cost_compare.py +40 -0
- package/template/scripts/token_cost_lib.py +108 -0
- package/template/scripts/uat_probe_lib.py +868 -0
- package/template/scripts/validate-and-push.ps1 +280 -0
- package/template/scripts/validate-and-push.sh +243 -0
- package/template/scripts/validate_doc_profile.py +103 -0
- package/template/scripts/validate_project_readme_coverage.py +151 -0
- package/template/scripts/validate_readme_feature_coverage.py +140 -0
- package/template/sprints/S0001/progress.md +1 -0
- package/template/sprints/S0001/qa-findings.md +9 -0
- package/template/sprints/S0001/release-findings.md +24 -0
- package/template/sprints/S0001/sprint.md +9 -0
- package/template/sprints/S0001/summary.md +7 -0
- package/template/sprints/S0001/tasks.md +1 -0
- package/template/sprints/S0001/uat.json +6 -0
- package/template/sprints/S0001/uat.md +5 -0
- package/template/sprints/quick/Q0001/summary.md +1 -0
- package/{sprints → template/sprints}/quick/Q0001/task.json +0 -1
- package/.cursor/agents/curator.mdc +0 -21
- package/.cursor/agents/dev.mdc +0 -20
- package/.cursor/agents/po.mdc +0 -19
- package/.cursor/agents/qa.mdc +0 -19
- package/.cursor/agents/release.mdc +0 -19
- package/.cursor/agents/tech-lead.mdc +0 -21
- package/.cursor/commands/gsd-architecture.md +0 -29
- package/.cursor/commands/gsd-auto.md +0 -27
- package/.cursor/commands/gsd-discovery.md +0 -27
- package/.cursor/commands/gsd-execute.md +0 -32
- package/.cursor/commands/gsd-intake.md +0 -28
- package/.cursor/commands/gsd-map-codebase.md +0 -25
- package/.cursor/commands/gsd-milestone-complete.md +0 -24
- package/.cursor/commands/gsd-milestone-start.md +0 -26
- package/.cursor/commands/gsd-pause.md +0 -25
- package/.cursor/commands/gsd-plan-verify.md +0 -26
- package/.cursor/commands/gsd-qa.md +0 -28
- package/.cursor/commands/gsd-quick.md +0 -24
- package/.cursor/commands/gsd-refresh-context.md +0 -26
- package/.cursor/commands/gsd-release.md +0 -29
- package/.cursor/commands/gsd-research.md +0 -28
- package/.cursor/commands/gsd-resume.md +0 -26
- package/.cursor/commands/gsd-sprint-plan.md +0 -30
- package/.cursor/commands/gsd-verify-work.md +0 -25
- package/.cursor/hooks.json +0 -26
- package/.cursor/plans/cursor-gsd-team-kit_8cfee9b8.plan.md +0 -57
- package/.cursor/remote.json +0 -18
- package/.cursor/rules/gsd-core.mdc +0 -18
- package/.cursor/rules/gsd-handoffs.mdc +0 -10
- package/.cursor/rules/gsd-quality.mdc +0 -15
- package/.cursor/scratchpad.md +0 -34
- package/.github/workflows/ci.yml +0 -47
- package/decisions/DEC-0001.md +0 -21
- package/decisions/DEC-0002.md +0 -21
- package/docs/engineering/architecture.md +0 -354
- package/docs/engineering/decisions.md +0 -6
- package/docs/engineering/research.md +0 -11
- package/docs/engineering/runbook.md +0 -32
- package/docs/engineering/state.md +0 -33
- package/docs/product/acceptance.md +0 -6
- package/docs/product/backlog.md +0 -7
- package/docs/product/vision.md +0 -46
- package/gsd-installer.ps1 +0 -189
- package/gsd-installer.py +0 -195
- package/gsd-installer.sh +0 -201
- package/handoffs/release_notes.md +0 -14
- package/handoffs/resume_brief.md +0 -8
- package/milestones/M0001/milestone.json +0 -7
- package/milestones/M0001/phases.json +0 -9
- package/milestones/M0001/progress.md +0 -3
- package/milestones/M0001/summary.md +0 -3
- package/scripts/generate-release-notes.ps1 +0 -74
- package/scripts/generate-release-notes.sh +0 -63
- package/scripts/release-all.ps1 +0 -423
- package/scripts/release-all.sh +0 -226
- package/sprints/S0001/progress.md +0 -4
- package/sprints/S0001/qa-findings.md +0 -113
- package/sprints/S0001/sprint.md +0 -70
- package/sprints/S0001/summary.md +0 -46
- package/sprints/S0001/tasks.md +0 -35
- package/sprints/S0001/uat.json +0 -8
- package/sprints/S0001/uat.md +0 -8
- package/sprints/quick/Q0001/summary.md +0 -3
- /package/{.cursor/rules/gsd-escalation.mdc → template/.cursor/rules/escalation.mdc} +0 -0
- /package/{.cursor/skills/gsd-team → template/.cursor/skills/its-magic}/templates/acceptance.json +0 -0
- /package/{.cursor/skills/gsd-team → template/.cursor/skills/its-magic}/templates/acceptance.md +0 -0
- /package/{.cursor/skills/gsd-team → template/.cursor/skills/its-magic}/templates/architecture.json +0 -0
- /package/{.cursor/skills/gsd-team → template/.cursor/skills/its-magic}/templates/architecture.md +0 -0
- /package/{.cursor/skills/gsd-team → template/.cursor/skills/its-magic}/templates/decision.json +0 -0
- /package/{.cursor/skills/gsd-team → template/.cursor/skills/its-magic}/templates/decision.md +0 -0
- /package/{.cursor/skills/gsd-team → template/.cursor/skills/its-magic}/templates/handoff.json +0 -0
- /package/{.cursor/skills/gsd-team → template/.cursor/skills/its-magic}/templates/handoff.md +0 -0
- /package/{.cursor/skills/gsd-team → template/.cursor/skills/its-magic}/templates/milestone.json +0 -0
- /package/{.cursor/skills/gsd-team → template/.cursor/skills/its-magic}/templates/phase-context.json +0 -0
- /package/{.cursor/skills/gsd-team → template/.cursor/skills/its-magic}/templates/plan-verify.json +0 -0
- /package/{.cursor/skills/gsd-team → template/.cursor/skills/its-magic}/templates/sprint.json +0 -0
- /package/{.cursor/skills/gsd-team → template/.cursor/skills/its-magic}/templates/sprint.md +0 -0
- /package/{.cursor/skills/gsd-team → template/.cursor/skills/its-magic}/templates/story.json +0 -0
- /package/{.cursor/skills/gsd-team → template/.cursor/skills/its-magic}/templates/story.md +0 -0
- /package/{.cursor/skills/gsd-team → template/.cursor/skills/its-magic}/templates/uat.json +0 -0
- /package/{docs → template/docs}/engineering/context/phase-template.json +0 -0
- /package/{docs → template/docs}/engineering/dependencies.json +0 -0
- /package/{sprints → template/sprints}/S0001/plan-verify.json +0 -0
|
@@ -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,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
|
+
---
|