sustainable-vibe-coding 10.0.0__tar.gz
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.
- sustainable_vibe_coding-10.0.0/PKG-INFO +104 -0
- sustainable_vibe_coding-10.0.0/README.md +97 -0
- sustainable_vibe_coding-10.0.0/pdm_build.py +14 -0
- sustainable_vibe_coding-10.0.0/pyproject.toml +58 -0
- sustainable_vibe_coding-10.0.0/src/assets/templates/AGENTS.local.template.md +25 -0
- sustainable_vibe_coding-10.0.0/src/assets/templates/AGENTS.root.template.md +46 -0
- sustainable_vibe_coding-10.0.0/src/assets/templates/alignment-change-request.template.md +40 -0
- sustainable_vibe_coding-10.0.0/src/assets/templates/deployment-runbook.template.md +37 -0
- sustainable_vibe_coding-10.0.0/src/assets/templates/edit-shared-docs.template.md +42 -0
- sustainable_vibe_coding-10.0.0/src/assets/templates/product-tdd.template.md +24 -0
- sustainable_vibe_coding-10.0.0/src/assets/templates/product-truth.template.md +29 -0
- sustainable_vibe_coding-10.0.0/src/assets/templates/task-diagnostics-matrix.template.md +18 -0
- sustainable_vibe_coding-10.0.0/src/assets/templates/task-packet.template.md +15 -0
- sustainable_vibe_coding-10.0.0/src/index.md +123 -0
- sustainable_vibe_coding-10.0.0/src/manifest.json +15 -0
- sustainable_vibe_coding-10.0.0/src/sections/deployment.md +9 -0
- sustainable_vibe_coding-10.0.0/src/sections/extensions/alignment.md +42 -0
- sustainable_vibe_coding-10.0.0/src/sections/extensions/multi-repo.md +31 -0
- sustainable_vibe_coding-10.0.0/src/sections/implementation-taste.md +60 -0
- sustainable_vibe_coding-10.0.0/src/sections/prd.md +44 -0
- sustainable_vibe_coding-10.0.0/src/sections/product-tdd.md +18 -0
- sustainable_vibe_coding-10.0.0/src/sections/unit-tdd.md +20 -0
- sustainable_vibe_coding-10.0.0/src/sections/working-protocol.md +80 -0
- sustainable_vibe_coding-10.0.0/svc_cli/__init__.py +7 -0
- sustainable_vibe_coding-10.0.0/svc_cli/catalog.py +146 -0
- sustainable_vibe_coding-10.0.0/svc_cli/cli.py +232 -0
- sustainable_vibe_coding-10.0.0/svc_cli/errors.py +25 -0
- sustainable_vibe_coding-10.0.0/svc_cli/integration.py +204 -0
- sustainable_vibe_coding-10.0.0/svc_cli/lookup.py +203 -0
- sustainable_vibe_coding-10.0.0/svc_cli/plans.py +318 -0
- sustainable_vibe_coding-10.0.0/svc_cli/project.py +256 -0
- sustainable_vibe_coding-10.0.0/svc_cli/release.py +26 -0
- sustainable_vibe_coding-10.0.0/svc_cli/resources.py +60 -0
- sustainable_vibe_coding-10.0.0/svc_cli/update.py +179 -0
- sustainable_vibe_coding-10.0.0/tests/test_build_monolith.py +175 -0
- sustainable_vibe_coding-10.0.0/tests/test_catalog.py +62 -0
- sustainable_vibe_coding-10.0.0/tests/test_cli.py +50 -0
- sustainable_vibe_coding-10.0.0/tests/test_framework_contract.py +113 -0
- sustainable_vibe_coding-10.0.0/tests/test_lookup.py +73 -0
- sustainable_vibe_coding-10.0.0/tests/test_project.py +188 -0
- sustainable_vibe_coding-10.0.0/tests/test_release.py +219 -0
- sustainable_vibe_coding-10.0.0/tests/test_update.py +69 -0
- sustainable_vibe_coding-10.0.0/tests/test_workflows.py +59 -0
- sustainable_vibe_coding-10.0.0/tools/__init__.py +1 -0
- sustainable_vibe_coding-10.0.0/tools/build_catalog.py +67 -0
- sustainable_vibe_coding-10.0.0/tools/build_monolith.py +432 -0
- sustainable_vibe_coding-10.0.0/tools/release.py +480 -0
|
@@ -0,0 +1,104 @@
|
|
|
1
|
+
Metadata-Version: 2.1
|
|
2
|
+
Name: sustainable-vibe-coding
|
|
3
|
+
Version: 10.0.0
|
|
4
|
+
Summary: Packaged SVC corpus and local development-collaboration CLI.
|
|
5
|
+
Requires-Python: >=3.11
|
|
6
|
+
Description-Content-Type: text/markdown
|
|
7
|
+
|
|
8
|
+
# Sustainable Vibe Coding
|
|
9
|
+
|
|
10
|
+
Sustainable Vibe Coding (SVC) is a source-first framework delivered as a versioned local corpus and a small development-collaboration CLI. It helps AI-assisted teams retain costly-to-rediscover truth without copying upstream framework documents into every repository.
|
|
11
|
+
|
|
12
|
+
## Develop SVC
|
|
13
|
+
|
|
14
|
+
Requirements: Python 3.11+ and PDM.
|
|
15
|
+
|
|
16
|
+
```bash
|
|
17
|
+
pdm install
|
|
18
|
+
pdm run test
|
|
19
|
+
pdm run build-monolith
|
|
20
|
+
pdm run svc --help
|
|
21
|
+
pdm build
|
|
22
|
+
```
|
|
23
|
+
|
|
24
|
+
Edit canonical framework content under `src/`, never `build/monolith.md`. `src/` contains only SVC corpus content and release metadata; Python runtime code is in `svc_cli/`, and repository-only builders/release tools are in `tools/`.
|
|
25
|
+
|
|
26
|
+
## Use a Released Corpus
|
|
27
|
+
|
|
28
|
+
Install the CLI, then query the guidance you need. The wheel contains the read-only corpus and a deterministic catalog, so ordinary lookup writes nothing and contacts no service.
|
|
29
|
+
|
|
30
|
+
```bash
|
|
31
|
+
python -m pip install sustainable-vibe-coding==10.0.0
|
|
32
|
+
|
|
33
|
+
svc lookup --name 'sections/working-protocol\.md'
|
|
34
|
+
svc lookup --name 'assets/templates/AGENTS\..*\.template\.md' --all
|
|
35
|
+
svc lookup --keyword "task packet mutation gate"
|
|
36
|
+
```
|
|
37
|
+
|
|
38
|
+
`--name` is a full-path regular expression over source-relative SVC document paths—not a document ID. Keyword results are short, deterministic candidates; use a returned path with `--name` to read canonical content. Semantic search is intentionally deferred until a local artifact and quality contract are measured.
|
|
39
|
+
|
|
40
|
+
## Initialize a Consumer Project
|
|
41
|
+
|
|
42
|
+
Initialization is dry-run by default. It creates no copied SVC documents and never silently overwrites consumer content.
|
|
43
|
+
|
|
44
|
+
```bash
|
|
45
|
+
svc init /path/to/project --agent codex --json
|
|
46
|
+
svc init /path/to/project --apply <plan-digest>
|
|
47
|
+
svc status /path/to/project
|
|
48
|
+
```
|
|
49
|
+
|
|
50
|
+
The exact-plan apply may create:
|
|
51
|
+
|
|
52
|
+
```text
|
|
53
|
+
svc.json
|
|
54
|
+
.agents/skills/svc/SKILL.md
|
|
55
|
+
AGENTS.md (a bounded generated SVC navigation block)
|
|
56
|
+
docs/index.md (created when absent, with a bounded generated navigation block)
|
|
57
|
+
```
|
|
58
|
+
|
|
59
|
+
`svc.json` records only the project's adopted SVC baseline (plus its file schema):
|
|
60
|
+
|
|
61
|
+
```json
|
|
62
|
+
{
|
|
63
|
+
"schema_version": 1,
|
|
64
|
+
"svc_version": "10.0.0"
|
|
65
|
+
}
|
|
66
|
+
```
|
|
67
|
+
|
|
68
|
+
Everything unmarked in `AGENTS.md` and `docs/index.md` remains Consumer-owned. The Codex skill is a substantial operational guide to `svc` commands, not a duplicate of the framework corpus. Modified generated blocks or skills block refresh for human review.
|
|
69
|
+
|
|
70
|
+
## Upgrade Deliberately
|
|
71
|
+
|
|
72
|
+
The executable and project adoption are deliberately separate:
|
|
73
|
+
|
|
74
|
+
```bash
|
|
75
|
+
svc self-update --json
|
|
76
|
+
svc self-update --apply <plan-digest>
|
|
77
|
+
|
|
78
|
+
svc status /path/to/project
|
|
79
|
+
svc lookup --keyword "migration"
|
|
80
|
+
svc adopt 10.0.0 /path/to/project --apply <plan-digest>
|
|
81
|
+
```
|
|
82
|
+
|
|
83
|
+
`self-update` changes only a supported non-editable pip installation in the current interpreter. It never changes `svc.json`. After reviewing any packaged migration guidance and applying Consumer-owned changes under the project's mutation gate, `svc adopt` records the new baseline in `svc.json` through another exact plan.
|
|
84
|
+
|
|
85
|
+
## Behavioral SemVer and Releases
|
|
86
|
+
|
|
87
|
+
SVC uses Behavioral SemVer:
|
|
88
|
+
|
|
89
|
+
- **MAJOR** changes required obligations, defaults, permission/authority boundaries, task-packet semantics, consumer layout, or a stable CLI/catalog contract.
|
|
90
|
+
- **MINOR** adds an optional backward-compatible capability.
|
|
91
|
+
- **PATCH** fixes or clarifies the existing protocol without changing those behaviors.
|
|
92
|
+
|
|
93
|
+
Towncrier fragments and the release planner make the impact reviewable. GitHub Releases are the canonical release record; the Python package is the installation projection. See [CONTRIBUTING.md](CONTRIBUTING.md) for commit, fragment, and release workflow rules.
|
|
94
|
+
|
|
95
|
+
## Repository Layout
|
|
96
|
+
|
|
97
|
+
```text
|
|
98
|
+
src/ canonical SVC corpus and release metadata
|
|
99
|
+
svc_cli/ installable Python runtime
|
|
100
|
+
tools/ catalog, monolith, and release tooling
|
|
101
|
+
pdm_build.py wheel corpus projection hook
|
|
102
|
+
tests/ contract and fixture tests
|
|
103
|
+
tasks/ volatile work packets
|
|
104
|
+
```
|
|
@@ -0,0 +1,97 @@
|
|
|
1
|
+
# Sustainable Vibe Coding
|
|
2
|
+
|
|
3
|
+
Sustainable Vibe Coding (SVC) is a source-first framework delivered as a versioned local corpus and a small development-collaboration CLI. It helps AI-assisted teams retain costly-to-rediscover truth without copying upstream framework documents into every repository.
|
|
4
|
+
|
|
5
|
+
## Develop SVC
|
|
6
|
+
|
|
7
|
+
Requirements: Python 3.11+ and PDM.
|
|
8
|
+
|
|
9
|
+
```bash
|
|
10
|
+
pdm install
|
|
11
|
+
pdm run test
|
|
12
|
+
pdm run build-monolith
|
|
13
|
+
pdm run svc --help
|
|
14
|
+
pdm build
|
|
15
|
+
```
|
|
16
|
+
|
|
17
|
+
Edit canonical framework content under `src/`, never `build/monolith.md`. `src/` contains only SVC corpus content and release metadata; Python runtime code is in `svc_cli/`, and repository-only builders/release tools are in `tools/`.
|
|
18
|
+
|
|
19
|
+
## Use a Released Corpus
|
|
20
|
+
|
|
21
|
+
Install the CLI, then query the guidance you need. The wheel contains the read-only corpus and a deterministic catalog, so ordinary lookup writes nothing and contacts no service.
|
|
22
|
+
|
|
23
|
+
```bash
|
|
24
|
+
python -m pip install sustainable-vibe-coding==10.0.0
|
|
25
|
+
|
|
26
|
+
svc lookup --name 'sections/working-protocol\.md'
|
|
27
|
+
svc lookup --name 'assets/templates/AGENTS\..*\.template\.md' --all
|
|
28
|
+
svc lookup --keyword "task packet mutation gate"
|
|
29
|
+
```
|
|
30
|
+
|
|
31
|
+
`--name` is a full-path regular expression over source-relative SVC document paths—not a document ID. Keyword results are short, deterministic candidates; use a returned path with `--name` to read canonical content. Semantic search is intentionally deferred until a local artifact and quality contract are measured.
|
|
32
|
+
|
|
33
|
+
## Initialize a Consumer Project
|
|
34
|
+
|
|
35
|
+
Initialization is dry-run by default. It creates no copied SVC documents and never silently overwrites consumer content.
|
|
36
|
+
|
|
37
|
+
```bash
|
|
38
|
+
svc init /path/to/project --agent codex --json
|
|
39
|
+
svc init /path/to/project --apply <plan-digest>
|
|
40
|
+
svc status /path/to/project
|
|
41
|
+
```
|
|
42
|
+
|
|
43
|
+
The exact-plan apply may create:
|
|
44
|
+
|
|
45
|
+
```text
|
|
46
|
+
svc.json
|
|
47
|
+
.agents/skills/svc/SKILL.md
|
|
48
|
+
AGENTS.md (a bounded generated SVC navigation block)
|
|
49
|
+
docs/index.md (created when absent, with a bounded generated navigation block)
|
|
50
|
+
```
|
|
51
|
+
|
|
52
|
+
`svc.json` records only the project's adopted SVC baseline (plus its file schema):
|
|
53
|
+
|
|
54
|
+
```json
|
|
55
|
+
{
|
|
56
|
+
"schema_version": 1,
|
|
57
|
+
"svc_version": "10.0.0"
|
|
58
|
+
}
|
|
59
|
+
```
|
|
60
|
+
|
|
61
|
+
Everything unmarked in `AGENTS.md` and `docs/index.md` remains Consumer-owned. The Codex skill is a substantial operational guide to `svc` commands, not a duplicate of the framework corpus. Modified generated blocks or skills block refresh for human review.
|
|
62
|
+
|
|
63
|
+
## Upgrade Deliberately
|
|
64
|
+
|
|
65
|
+
The executable and project adoption are deliberately separate:
|
|
66
|
+
|
|
67
|
+
```bash
|
|
68
|
+
svc self-update --json
|
|
69
|
+
svc self-update --apply <plan-digest>
|
|
70
|
+
|
|
71
|
+
svc status /path/to/project
|
|
72
|
+
svc lookup --keyword "migration"
|
|
73
|
+
svc adopt 10.0.0 /path/to/project --apply <plan-digest>
|
|
74
|
+
```
|
|
75
|
+
|
|
76
|
+
`self-update` changes only a supported non-editable pip installation in the current interpreter. It never changes `svc.json`. After reviewing any packaged migration guidance and applying Consumer-owned changes under the project's mutation gate, `svc adopt` records the new baseline in `svc.json` through another exact plan.
|
|
77
|
+
|
|
78
|
+
## Behavioral SemVer and Releases
|
|
79
|
+
|
|
80
|
+
SVC uses Behavioral SemVer:
|
|
81
|
+
|
|
82
|
+
- **MAJOR** changes required obligations, defaults, permission/authority boundaries, task-packet semantics, consumer layout, or a stable CLI/catalog contract.
|
|
83
|
+
- **MINOR** adds an optional backward-compatible capability.
|
|
84
|
+
- **PATCH** fixes or clarifies the existing protocol without changing those behaviors.
|
|
85
|
+
|
|
86
|
+
Towncrier fragments and the release planner make the impact reviewable. GitHub Releases are the canonical release record; the Python package is the installation projection. See [CONTRIBUTING.md](CONTRIBUTING.md) for commit, fragment, and release workflow rules.
|
|
87
|
+
|
|
88
|
+
## Repository Layout
|
|
89
|
+
|
|
90
|
+
```text
|
|
91
|
+
src/ canonical SVC corpus and release metadata
|
|
92
|
+
svc_cli/ installable Python runtime
|
|
93
|
+
tools/ catalog, monolith, and release tooling
|
|
94
|
+
pdm_build.py wheel corpus projection hook
|
|
95
|
+
tests/ contract and fixture tests
|
|
96
|
+
tasks/ volatile work packets
|
|
97
|
+
```
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
from __future__ import annotations
|
|
2
|
+
|
|
3
|
+
from pathlib import Path
|
|
4
|
+
from typing import Any
|
|
5
|
+
|
|
6
|
+
from tools.build_catalog import build_projection
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
def pdm_build_update_files(context: Any, files: dict[str, Path]) -> None:
|
|
10
|
+
"""Project the canonical corpus once into the wheel's read-only runtime data."""
|
|
11
|
+
if context.target != "wheel":
|
|
12
|
+
return
|
|
13
|
+
root = Path(context.root)
|
|
14
|
+
files.update(build_projection(root, root / "build" / "catalog"))
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
[project]
|
|
2
|
+
name = "sustainable-vibe-coding"
|
|
3
|
+
version = "10.0.0"
|
|
4
|
+
description = "Packaged SVC corpus and local development-collaboration CLI."
|
|
5
|
+
readme = "README.md"
|
|
6
|
+
requires-python = ">=3.11"
|
|
7
|
+
dependencies = []
|
|
8
|
+
|
|
9
|
+
[project.scripts]
|
|
10
|
+
svc = "svc_cli.cli:main"
|
|
11
|
+
|
|
12
|
+
[dependency-groups]
|
|
13
|
+
release = [
|
|
14
|
+
"towncrier>=25.8,<26",
|
|
15
|
+
]
|
|
16
|
+
|
|
17
|
+
[build-system]
|
|
18
|
+
requires = [
|
|
19
|
+
"pdm-backend",
|
|
20
|
+
]
|
|
21
|
+
build-backend = "pdm.backend"
|
|
22
|
+
|
|
23
|
+
[tool.pdm]
|
|
24
|
+
distribution = true
|
|
25
|
+
|
|
26
|
+
[tool.pdm.scripts]
|
|
27
|
+
build-monolith = "python -m tools.build_monolith"
|
|
28
|
+
svc = "python -m svc_cli.cli"
|
|
29
|
+
test = "python -m unittest discover -s tests -p 'test_*.py'"
|
|
30
|
+
release = "python -m tools.release"
|
|
31
|
+
|
|
32
|
+
[tool.pdm.build]
|
|
33
|
+
includes = [
|
|
34
|
+
"svc_cli",
|
|
35
|
+
]
|
|
36
|
+
source-includes = [
|
|
37
|
+
"src",
|
|
38
|
+
"tools",
|
|
39
|
+
"tests",
|
|
40
|
+
"pdm_build.py",
|
|
41
|
+
]
|
|
42
|
+
|
|
43
|
+
[tool.towncrier]
|
|
44
|
+
directory = "changes"
|
|
45
|
+
filename = "CHANGELOG.md"
|
|
46
|
+
title_format = "## [{version}] - {project_date}"
|
|
47
|
+
issue_format = "`{issue}`"
|
|
48
|
+
start_string = "<!-- towncrier release notes start -->\n"
|
|
49
|
+
underlines = [
|
|
50
|
+
"",
|
|
51
|
+
"",
|
|
52
|
+
"",
|
|
53
|
+
]
|
|
54
|
+
type = [
|
|
55
|
+
{ directory = "major", name = "Behavioral breaking changes", showcontent = true },
|
|
56
|
+
{ directory = "minor", name = "Backward-compatible capabilities", showcontent = true },
|
|
57
|
+
{ directory = "patch", name = "Protocol fixes", showcontent = true },
|
|
58
|
+
]
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
# Local Instructions: <Subtree>
|
|
2
|
+
|
|
3
|
+
## Scope
|
|
4
|
+
|
|
5
|
+
- Applies to: `<path or pattern>`
|
|
6
|
+
- Does not apply to: `<boundary if needed>`
|
|
7
|
+
|
|
8
|
+
## Invariants and Authority
|
|
9
|
+
|
|
10
|
+
- <non-negotiable local invariant>
|
|
11
|
+
- Authority lives in: `<source>`
|
|
12
|
+
- Allowed write path: `<entry point>`
|
|
13
|
+
- Forbidden shortcut: `<shortcut and failure it causes>`
|
|
14
|
+
|
|
15
|
+
## Hazard and Tripwire
|
|
16
|
+
|
|
17
|
+
- Fragile seam: <description>
|
|
18
|
+
- Recurrence signal: <observable symptom>
|
|
19
|
+
- Required check: `<test, assertion, log, or command>`
|
|
20
|
+
- Escalate when: <condition that invalidates local action>
|
|
21
|
+
|
|
22
|
+
## Navigation
|
|
23
|
+
|
|
24
|
+
- Stable anchors: `<symbols, ids, or selectors>`
|
|
25
|
+
- Relevant tests: `<paths>`
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
# <Project Name>
|
|
2
|
+
|
|
3
|
+
<One sentence describing the product or repository.>
|
|
4
|
+
|
|
5
|
+
Replace every angle-bracket placeholder. Delete any optional owner row that is not admitted; a completed root must contain no placeholder or `absent` marker.
|
|
6
|
+
|
|
7
|
+
## Repository Map
|
|
8
|
+
|
|
9
|
+
- `<path>`: <crucial responsibility>
|
|
10
|
+
- `<path>`: <crucial responsibility>
|
|
11
|
+
- `docs/`: durable project knowledge
|
|
12
|
+
- `tasks/`: active task-local state
|
|
13
|
+
|
|
14
|
+
## Knowledge Owners
|
|
15
|
+
|
|
16
|
+
- Working protocol and mutation gate: `docs/00-meta/working-protocol.md`
|
|
17
|
+
- Non-trivial implementation judgment: `docs/00-meta/implementation-taste.md`
|
|
18
|
+
- Product what and why: `docs/10-prd/README.md`
|
|
19
|
+
- Cross-unit technical contracts, when admitted: `<path>`
|
|
20
|
+
- Unit design and local seam guidance, when admitted: `<paths>`
|
|
21
|
+
- Technical decisions and ADRs, when admitted: `<path>`
|
|
22
|
+
- Runtime, packaging, migration, observability, and recovery truth, when admitted: `<path>`
|
|
23
|
+
- Nearer `AGENTS.md` files are additive for their subtree.
|
|
24
|
+
- Task retention: <concrete deletion or time-to-live rule; no archive or deletion-time promotion review>
|
|
25
|
+
|
|
26
|
+
## Development Workflow
|
|
27
|
+
|
|
28
|
+
- Runtime and package manager: <versions/tools>
|
|
29
|
+
- Install: `<command>`
|
|
30
|
+
- Test: `<command>`
|
|
31
|
+
- Lint/type/check: `<command>`
|
|
32
|
+
- Build/package: `<command>`
|
|
33
|
+
- Smoke/debug entry: `<command, inspector, or harness>`
|
|
34
|
+
- Runtime data: `<state, database, logs, cache, and config paths>`
|
|
35
|
+
- Environment overrides: `<locations>`
|
|
36
|
+
|
|
37
|
+
Keep these entries executable and project-specific. Put durable behavior or architecture in its knowledge owner, not here.
|
|
38
|
+
|
|
39
|
+
## Execution Rules
|
|
40
|
+
|
|
41
|
+
- Read `docs/00-meta/working-protocol.md` for non-trivial work and follow its permission boundary.
|
|
42
|
+
- Load `docs/00-meta/implementation-taste.md` only when its implementation trigger is present.
|
|
43
|
+
- Read the nearest local `AGENTS.md` before editing a governed subtree.
|
|
44
|
+
- Prefer code, configuration, schemas, tests, and automation for mechanically enforceable truth.
|
|
45
|
+
- Follow the working protocol's documentation-quality contract.
|
|
46
|
+
- <project-specific approval, commit, or release rule>
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
# Alignment Substrate Request Template
|
|
2
|
+
|
|
3
|
+
## Request Metadata
|
|
4
|
+
|
|
5
|
+
- request id:
|
|
6
|
+
- target surface:
|
|
7
|
+
- requester:
|
|
8
|
+
|
|
9
|
+
## Coordination Primitives
|
|
10
|
+
|
|
11
|
+
### Reference
|
|
12
|
+
|
|
13
|
+
- object:
|
|
14
|
+
- address:
|
|
15
|
+
|
|
16
|
+
### Mutation Contract
|
|
17
|
+
|
|
18
|
+
- operation:
|
|
19
|
+
- invariants / boundaries:
|
|
20
|
+
|
|
21
|
+
### Grounding and Synchronization
|
|
22
|
+
|
|
23
|
+
- applicable state / context:
|
|
24
|
+
- evidence:
|
|
25
|
+
- protocol / handshake checkpoint:
|
|
26
|
+
|
|
27
|
+
## Desired State Diff
|
|
28
|
+
|
|
29
|
+
- from:
|
|
30
|
+
- to:
|
|
31
|
+
|
|
32
|
+
## Blast Radius Forecast
|
|
33
|
+
|
|
34
|
+
- touched anchors / files:
|
|
35
|
+
- downstream surfaces at risk:
|
|
36
|
+
- explicitly out of scope:
|
|
37
|
+
|
|
38
|
+
## Acceptance Check
|
|
39
|
+
|
|
40
|
+
- verification contract:
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
# Deployment Runbook Template
|
|
2
|
+
|
|
3
|
+
## Incident Metadata
|
|
4
|
+
|
|
5
|
+
- incident id:
|
|
6
|
+
- service:
|
|
7
|
+
- start time:
|
|
8
|
+
- severity:
|
|
9
|
+
|
|
10
|
+
## Symptoms and Blast Radius
|
|
11
|
+
|
|
12
|
+
- user-visible impact:
|
|
13
|
+
- affected endpoints or jobs:
|
|
14
|
+
|
|
15
|
+
## Telemetry Snapshot
|
|
16
|
+
|
|
17
|
+
- key logs:
|
|
18
|
+
- metrics:
|
|
19
|
+
- traces:
|
|
20
|
+
|
|
21
|
+
## Mitigation Plan
|
|
22
|
+
|
|
23
|
+
1. immediate containment:
|
|
24
|
+
2. temporary workaround:
|
|
25
|
+
3. risk note:
|
|
26
|
+
|
|
27
|
+
## Rollback Plan
|
|
28
|
+
|
|
29
|
+
1. rollback trigger:
|
|
30
|
+
2. rollback steps:
|
|
31
|
+
3. post-rollback verification:
|
|
32
|
+
|
|
33
|
+
## Forward Fix Entry Criteria
|
|
34
|
+
|
|
35
|
+
- evidence quality threshold:
|
|
36
|
+
- approval owner:
|
|
37
|
+
- approved forward-fix entry:
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
# Shared Docs Edit Protocol Template
|
|
2
|
+
|
|
3
|
+
Use this protocol in a Spoke repo when local work discovers that shared Hub truth must change.
|
|
4
|
+
|
|
5
|
+
## Capture Local Pressure
|
|
6
|
+
|
|
7
|
+
- spoke task:
|
|
8
|
+
- local code path or seam:
|
|
9
|
+
- missing shared rule or ambiguity:
|
|
10
|
+
- local consequence if left unresolved:
|
|
11
|
+
- verification pressure after return:
|
|
12
|
+
|
|
13
|
+
## Preconditions
|
|
14
|
+
|
|
15
|
+
- `docs/_shared/` points at the intended upstream and is not detached
|
|
16
|
+
- the active task packet explains why shared truth must change
|
|
17
|
+
- human approval is required before commit or push
|
|
18
|
+
|
|
19
|
+
## Phase 1: Status Check
|
|
20
|
+
|
|
21
|
+
- upstream branch or source:
|
|
22
|
+
- freshness check result:
|
|
23
|
+
- stale-pointer risk:
|
|
24
|
+
|
|
25
|
+
## Phase 2: Solidify Global
|
|
26
|
+
|
|
27
|
+
- shared files to edit:
|
|
28
|
+
- canonical owner:
|
|
29
|
+
- summary for human approval:
|
|
30
|
+
- approval received from:
|
|
31
|
+
- Hub commit:
|
|
32
|
+
|
|
33
|
+
## Phase 3: Bump Local
|
|
34
|
+
|
|
35
|
+
- Spoke repo:
|
|
36
|
+
- pointer or reference update:
|
|
37
|
+
- isolated bump commit:
|
|
38
|
+
|
|
39
|
+
## Phase 4: Resume Local
|
|
40
|
+
|
|
41
|
+
- local work resumed:
|
|
42
|
+
- verification after bump:
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
# Product TDD: <Contract Surface>
|
|
2
|
+
|
|
3
|
+
## Admission
|
|
4
|
+
|
|
5
|
+
- Dependent units: <units that must interoperate>
|
|
6
|
+
- Failure if lost: <compatibility, authority, or topology risk>
|
|
7
|
+
- Why code, schemas, and tests are insufficient: <reason>
|
|
8
|
+
|
|
9
|
+
## Authority and Topology
|
|
10
|
+
|
|
11
|
+
- Authority owner: <unit/system>
|
|
12
|
+
- Participating units: <boundaries>
|
|
13
|
+
- State or reference flow: <concise description>
|
|
14
|
+
|
|
15
|
+
## Cross-Unit Contract
|
|
16
|
+
|
|
17
|
+
- Inputs and outputs: <schema or semantic contract>
|
|
18
|
+
- Compatibility invariants: <rules>
|
|
19
|
+
- Failure semantics: <observable behavior>
|
|
20
|
+
|
|
21
|
+
## Verification
|
|
22
|
+
|
|
23
|
+
- Contract tests or schema checks: <paths/commands>
|
|
24
|
+
- Product claim realization pointers: <links when useful>
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
# Product Truth
|
|
2
|
+
|
|
3
|
+
## Purpose and Pressure
|
|
4
|
+
|
|
5
|
+
- Product purpose: <problem and beneficiary>
|
|
6
|
+
- Current drivers: <market, user, business, hard-constraint, or operational pressure>
|
|
7
|
+
|
|
8
|
+
## Claims and Evaluation
|
|
9
|
+
|
|
10
|
+
| Product Claim | Rationale | Observable Success | Expected Evidence |
|
|
11
|
+
| --- | --- | --- | --- |
|
|
12
|
+
| | | | |
|
|
13
|
+
|
|
14
|
+
## Capabilities and Workflows
|
|
15
|
+
|
|
16
|
+
- Capability: <what the product can do>
|
|
17
|
+
- Workflow: <externally observable path>
|
|
18
|
+
|
|
19
|
+
## Rules and Scope
|
|
20
|
+
|
|
21
|
+
- Invariant: <product rule that must remain true>
|
|
22
|
+
- In scope: <boundary>
|
|
23
|
+
- Out of scope: <boundary>
|
|
24
|
+
|
|
25
|
+
## Business Language
|
|
26
|
+
|
|
27
|
+
- **<term>**: <stable product meaning>
|
|
28
|
+
|
|
29
|
+
Keep this as `docs/10-prd/README.md` until distinct consumers or change cadence justify a split. Do not add implementation topology or internal contracts.
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
# Diagnostic Task: <Symptom>
|
|
2
|
+
|
|
3
|
+
- **Objective**: identify the supported root cause of <symptom>
|
|
4
|
+
- **Guardrails**: gather evidence before mutation; preserve existing claims until disproven
|
|
5
|
+
- **Verification**: reproduce or falsify the cause with observable evidence
|
|
6
|
+
- **Current Truth**: <known symptoms, evidence, and uncertainty>
|
|
7
|
+
- **Next Step**: <next diagnostic action or blocking decision>
|
|
8
|
+
|
|
9
|
+
## Failure Matrix
|
|
10
|
+
|
|
11
|
+
| Suspected Cause | Supporting Evidence | Missing Evidence | Validation Step | Likely Owner |
|
|
12
|
+
| --- | --- | --- | --- | --- |
|
|
13
|
+
| | | | | |
|
|
14
|
+
|
|
15
|
+
## Durable Follow-up
|
|
16
|
+
|
|
17
|
+
- Root-cause owner, if confirmed: <source, config, test, product, technical, deployment, or local seam>
|
|
18
|
+
- Recurrence guard, if justified: <mechanical check or local tripwire>
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
# <Task>
|
|
2
|
+
|
|
3
|
+
- **Objective**: <concrete outcome>
|
|
4
|
+
- **Guardrails**: <boundaries and invariants that must remain true>
|
|
5
|
+
- **Verification**: <objective proof of completion>
|
|
6
|
+
- **Current Truth**: <evidence-backed understanding, decisions, and material uncertainty>
|
|
7
|
+
- **Next Step**: <next action or blocking decision>
|
|
8
|
+
|
|
9
|
+
## Supporting Material (Optional)
|
|
10
|
+
|
|
11
|
+
- Evidence: <links to task-local evidence>
|
|
12
|
+
- Decisions: <only decisions needed to understand current state>
|
|
13
|
+
- Work: <links to bounded artifacts>
|
|
14
|
+
|
|
15
|
+
Keep this file as the compact control surface. Split supporting material only when it becomes hard to scan here.
|