code-anchored-context 0.1.1 → 0.2.1
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/.agents/skills/README.md +1 -1
- package/.agents/skills/{development-initiative-context → code-anchored-context}/SKILL.md +38 -38
- package/AGENTS.md +13 -13
- package/README.md +14 -14
- package/bin/code-anchored-context.js +34 -34
- package/{Development → context}/AGENTS.md +13 -13
- package/{Development → context}/README.md +29 -33
- package/{Development → context}/_templates/backlog-item.md +2 -2
- package/{Development → context}/_templates/initiative/README.md +2 -2
- package/{Development → context}/_templates/initiative/backlog.md +2 -2
- package/{Development → context}/_templates/initiative/plan.md +2 -2
- package/{Development → context}/_templates/initiative/release-doc-notes.md +6 -6
- package/{Development → context}/_templates/planned-initiative/README.md +3 -3
- package/{Development → context}/_templates/planned-initiative/release-doc-notes.md +5 -5
- package/{Development → context}/_templates/program/README.md +1 -1
- package/{Development → context}/_templates/program/backlog.md +1 -1
- package/{Development → context}/_templates/program/releases/v0_1_0.md +1 -1
- package/{Development → context}/_templates/release-context/README.md +6 -6
- package/{Development → context}/_templates/release-context/backlog.md +1 -2
- package/{Development → context}/_templates/release-transition.md +7 -7
- package/{Development → context}/backlog/README.md +3 -3
- package/{Development → context}/current.md +3 -3
- package/{Development → context}/programs/README.md +2 -2
- package/{Development → context}/releases/v0_1_0/README.md +6 -6
- package/{Development → context}/releases/v0_1_0/backlog.md +1 -1
- package/{Development → context}/terminology.md +22 -22
- package/{Documentation → docs}/Welcome.md +6 -6
- package/{Documentation → docs}/_authoring/README.md +4 -4
- package/{Documentation → docs}/_authoring/areas/README.md +1 -1
- package/{Documentation → docs}/_authoring/areas/_template.md +4 -4
- package/{Documentation → docs}/_authoring/terminology.md +1 -1
- package/{Documentation → docs}/_authoring/workflow.md +22 -22
- package/{Documentation → docs}/releases/index.md +1 -1
- package/package.json +16 -19
- package/Development/code-anchored-context-structure.md +0 -133
- package/Development/code-anchored-context-why.md +0 -80
- package/Development/code-anchored-context.html +0 -830
- package/Development/giving-ai-agents-context-around-code.md +0 -496
- /package/{Development → context}/_templates/initiative/architecture.md +0 -0
- /package/{Development → context}/_templates/initiative/brief.html +0 -0
- /package/{Development → context}/_templates/initiative/decisions/ADR-0000-template.md +0 -0
- /package/{Development → context}/_templates/initiative/delivery.md +0 -0
- /package/{Development → context}/_templates/initiative/infrastructure.md +0 -0
- /package/{Development → context}/_templates/initiative/interface.md +0 -0
- /package/{Development → context}/_templates/initiative/operations.md +0 -0
- /package/{Development → context}/_templates/initiative/spec.md +0 -0
- /package/{Development → context}/_templates/initiative/testing.md +0 -0
- /package/{Development → context}/_templates/planned-initiative/architecture.md +0 -0
- /package/{Development → context}/_templates/planned-initiative/backlog.md +0 -0
- /package/{Development → context}/_templates/planned-initiative/decisions/ADR-0000-template.md +0 -0
- /package/{Development → context}/_templates/planned-initiative/delivery.md +0 -0
- /package/{Development → context}/_templates/planned-initiative/infrastructure.md +0 -0
- /package/{Development → context}/_templates/planned-initiative/interface.md +0 -0
- /package/{Development → context}/_templates/planned-initiative/operations.md +0 -0
- /package/{Development → context}/_templates/planned-initiative/plan.md +0 -0
- /package/{Development → context}/_templates/planned-initiative/spec.md +0 -0
- /package/{Development → context}/_templates/planned-initiative/testing.md +0 -0
- /package/{Development → context}/_templates/program/context.md +0 -0
- /package/{Development → context}/_templates/program/decisions/ADR-0000-template.md +0 -0
- /package/{Development → context}/_templates/program/planned-initiatives/.gitkeep +0 -0
- /package/{Development → context}/_templates/program/roadmap.md +0 -0
- /package/{Development → context}/_templates/release-context/initiatives/.gitkeep +0 -0
- /package/{Development → context}/backlog/items/.gitkeep +0 -0
- /package/{Development → context}/releases/v0_1_0/initiatives/.gitkeep +0 -0
- /package/{Documentation → docs}/.order +0 -0
- /package/{Documentation → docs}/_templates/area/README.md +0 -0
- /package/{Documentation → docs}/_templates/area/features/feature-template.md +0 -0
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
#
|
|
1
|
+
# Docs Authoring Guide
|
|
2
2
|
|
|
3
3
|
This subtree owns all guidance for authoring and refreshing the documentation
|
|
4
|
-
under `
|
|
4
|
+
under `docs/`. Humans and agents both read from here to know how
|
|
5
5
|
documentation is structured, when it is refreshed, what belongs in each area,
|
|
6
6
|
and which domain terminology to use.
|
|
7
7
|
|
|
@@ -18,14 +18,14 @@ and which domain terminology to use.
|
|
|
18
18
|
Create one authoring guide per documented area:
|
|
19
19
|
|
|
20
20
|
```text
|
|
21
|
-
|
|
21
|
+
docs/_authoring/areas/<area-slug>.md
|
|
22
22
|
```
|
|
23
23
|
|
|
24
24
|
Each area guide should identify:
|
|
25
25
|
|
|
26
26
|
- the source locations that own the behavior, such as product code,
|
|
27
27
|
interfaces, tests, CI/CD, generated artifacts, infrastructure, or config
|
|
28
|
-
- the
|
|
28
|
+
- the docs root under `docs/`
|
|
29
29
|
- feature pages that should exist
|
|
30
30
|
- behavior that matters at release time
|
|
31
31
|
- changes to ignore, such as pure refactors or test-only edits
|
|
@@ -5,7 +5,7 @@ This folder contains one authoring guide per documented area.
|
|
|
5
5
|
Create a guide from `_template.md` when adding a documentation area:
|
|
6
6
|
|
|
7
7
|
```text
|
|
8
|
-
|
|
8
|
+
docs/_authoring/areas/<area-slug>.md
|
|
9
9
|
```
|
|
10
10
|
|
|
11
11
|
Each guide should help a human or agent refresh docs from a release diff
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
|
|
5
5
|
- Source orientation: `path/to/runtime-or-product-code`, `path/to/contracts`,
|
|
6
6
|
`path/to/tests`, `path/to/ci-or-delivery`, `path/to/infra-or-config`
|
|
7
|
-
-
|
|
7
|
+
- Docs root: `docs/<Area>/`
|
|
8
8
|
- Owner or reviewer: TBD
|
|
9
9
|
|
|
10
10
|
Describe what this area owns and what it intentionally does not own.
|
|
@@ -18,9 +18,9 @@ operational expectations without private implementation detail.
|
|
|
18
18
|
|
|
19
19
|
## Feature Inventory
|
|
20
20
|
|
|
21
|
-
| Feature |
|
|
21
|
+
| Feature | Docs page | Notes |
|
|
22
22
|
| --- | --- | --- |
|
|
23
|
-
| TBD | `
|
|
23
|
+
| TBD | `docs/<Area>/features/<feature>.md` | TBD |
|
|
24
24
|
|
|
25
25
|
## What Matters At Release Time
|
|
26
26
|
|
|
@@ -57,7 +57,7 @@ known gaps, and questions that should not yet appear in product-facing docs.
|
|
|
57
57
|
|
|
58
58
|
## Terminology
|
|
59
59
|
|
|
60
|
-
List area-specific terms or link to `
|
|
60
|
+
List area-specific terms or link to `docs/_authoring/terminology.md`.
|
|
61
61
|
|
|
62
62
|
## Cross-Links
|
|
63
63
|
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
Use this file to define the domain language that documentation should use.
|
|
4
4
|
|
|
5
|
-
|
|
5
|
+
Docs should translate code-level names into reader-facing domain
|
|
6
6
|
terms when those differ. The goal is consistency for QA, product, support,
|
|
7
7
|
operators, and future agents.
|
|
8
8
|
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
#
|
|
1
|
+
# Docs Workflow
|
|
2
2
|
|
|
3
3
|
This file defines how documentation is versioned, refreshed, and structured
|
|
4
4
|
across the repo. It applies to all documented areas; area-specific guidance
|
|
@@ -7,7 +7,7 @@ lives in [`areas/`](areas/).
|
|
|
7
7
|
## When Docs Get Edited
|
|
8
8
|
|
|
9
9
|
Doc refresh is an explicit, on-request activity, not a side effect of code
|
|
10
|
-
work. Humans or agents touch `
|
|
10
|
+
work. Humans or agents touch `docs/` only when:
|
|
11
11
|
|
|
12
12
|
- A human explicitly asks for a release-time refresh, typically after the
|
|
13
13
|
release tag is cut and QA has signed off.
|
|
@@ -27,11 +27,11 @@ outdated, leave it alone. Flag the staleness in your summary or add it to the
|
|
|
27
27
|
initiative's `release-doc-notes.md`, but do not edit the doc as part of the
|
|
28
28
|
current change unless explicitly asked.
|
|
29
29
|
|
|
30
|
-
##
|
|
30
|
+
## Docs Modes
|
|
31
31
|
|
|
32
|
-
There are two valid ways to introduce or maintain `
|
|
32
|
+
There are two valid ways to introduce or maintain `docs/`.
|
|
33
33
|
|
|
34
|
-
### Baseline
|
|
34
|
+
### Baseline Docs
|
|
35
35
|
|
|
36
36
|
Use this mode only when a human explicitly asks to document the current system
|
|
37
37
|
as a starting point. This is common when adopting the template in an existing
|
|
@@ -42,23 +42,23 @@ When creating a baseline:
|
|
|
42
42
|
1. Confirm the scope: whole repo, one product area, one feature family, or one
|
|
43
43
|
operational surface.
|
|
44
44
|
2. Create or update the matching area guide under
|
|
45
|
-
`
|
|
45
|
+
`docs/_authoring/areas/` before writing product-facing pages.
|
|
46
46
|
3. Document stable, currently accepted behavior from the current branch,
|
|
47
47
|
current tag, or explicit reference point named by the human.
|
|
48
48
|
4. Prefer broad, accurate coverage over exhaustive implementation detail.
|
|
49
|
-
5. Record the baseline reference in `
|
|
49
|
+
5. Record the baseline reference in `docs/releases/index.md`. If
|
|
50
50
|
there is no release tag yet, use the commit, branch, date, or human-named
|
|
51
51
|
baseline label that was used as the source.
|
|
52
|
-
6. Leave uncertain or future behavior out of `
|
|
53
|
-
questions in `
|
|
52
|
+
6. Leave uncertain or future behavior out of `docs/`. Capture open
|
|
53
|
+
questions in `context/` or in the area authoring guide.
|
|
54
54
|
|
|
55
55
|
Baseline docs are a snapshot of the system as adopted; they are not a promise
|
|
56
56
|
that every undocumented behavior is unimportant.
|
|
57
57
|
|
|
58
|
-
### Release-Forward
|
|
58
|
+
### Release-Forward Docs
|
|
59
59
|
|
|
60
60
|
Use this mode when the team chooses not to create a full baseline. In this
|
|
61
|
-
mode, `
|
|
61
|
+
mode, `docs/` may start sparse. Agents capture documentation impact
|
|
62
62
|
in initiative `release-doc-notes.md` during development, then update product
|
|
63
63
|
docs only at explicit release-refresh time.
|
|
64
64
|
|
|
@@ -67,7 +67,7 @@ becomes complete incrementally around behavior the team changes and releases.
|
|
|
67
67
|
|
|
68
68
|
## Cadence And Versioning
|
|
69
69
|
|
|
70
|
-
Docs live under `
|
|
70
|
+
Docs live under `docs/`. After any explicit baseline pass, they are
|
|
71
71
|
refreshed once per release, at git-tag time, after release acceptance. Release
|
|
72
72
|
docs are anchored to the release tag; the docs at tag `release/v1_2_3`
|
|
73
73
|
describe the behavior of that release.
|
|
@@ -76,7 +76,7 @@ Default tag names follow the convention `release/vMAJOR_MINOR_PATCH` and match
|
|
|
76
76
|
the release branch name. If a project uses a different release convention,
|
|
77
77
|
document it here before the first refresh. If the first documentation pass is
|
|
78
78
|
a baseline without a tag, record the baseline reference in
|
|
79
|
-
`
|
|
79
|
+
`docs/releases/index.md`.
|
|
80
80
|
|
|
81
81
|
## Audience
|
|
82
82
|
|
|
@@ -100,9 +100,9 @@ or business process can observe. Add technical detail only when it affects
|
|
|
100
100
|
released behavior, configuration, permissions, data, integrations, errors,
|
|
101
101
|
support, operations, or auditability.
|
|
102
102
|
|
|
103
|
-
|
|
104
|
-
second.
|
|
105
|
-
release notes summarize what changed, while `
|
|
103
|
+
Docs should be product-readable first and technically anchored
|
|
104
|
+
second. They can feed release notes, but they are more durable than release notes:
|
|
105
|
+
release notes summarize what changed, while `docs/` describes what
|
|
106
106
|
the accepted system does as of a release or baseline.
|
|
107
107
|
|
|
108
108
|
Use progressive depth:
|
|
@@ -127,7 +127,7 @@ Every documented area has two layers:
|
|
|
127
127
|
Standard per-area layout:
|
|
128
128
|
|
|
129
129
|
```text
|
|
130
|
-
|
|
130
|
+
docs/<Area>/
|
|
131
131
|
README.md
|
|
132
132
|
features/
|
|
133
133
|
<feature>.md
|
|
@@ -173,14 +173,14 @@ When invoked to refresh docs for a release:
|
|
|
173
173
|
|
|
174
174
|
1. Work from the diff `<previous-release-tag>..HEAD`, scoped to one area at a
|
|
175
175
|
time.
|
|
176
|
-
2. Read the matching area guide in `
|
|
176
|
+
2. Read the matching area guide in `docs/_authoring/areas/`.
|
|
177
177
|
3. Read relevant initiative `release-doc-notes.md` files under
|
|
178
|
-
`
|
|
178
|
+
`context/releases/<release>/initiatives/`.
|
|
179
179
|
4. Update the area's `README.md` if the high-level picture changed.
|
|
180
180
|
5. Update feature pages for behavior that changed.
|
|
181
181
|
6. Ignore pure refactors, internal renames, test-only changes, formatting,
|
|
182
182
|
lint fixes, and dependency bumps with no behavior change.
|
|
183
|
-
7. Append one row to `
|
|
183
|
+
7. Append one row to `docs/releases/index.md`.
|
|
184
184
|
|
|
185
185
|
## Source Order
|
|
186
186
|
|
|
@@ -189,7 +189,7 @@ source inspection:
|
|
|
189
189
|
|
|
190
190
|
1. Previous release tag to current release diff.
|
|
191
191
|
2. Relevant initiative `release-doc-notes.md` files.
|
|
192
|
-
3. Matching area guide under `
|
|
192
|
+
3. Matching area guide under `docs/_authoring/areas/`.
|
|
193
193
|
4. Existing product documentation.
|
|
194
194
|
5. Source code, tests, config, CI/CD, infrastructure, and generated artifacts
|
|
195
195
|
only as needed to verify shipped behavior.
|
|
@@ -207,4 +207,4 @@ working tree and say so in the release index row.
|
|
|
207
207
|
- Transient migration scaffolding that will be removed before or soon after
|
|
208
208
|
the release.
|
|
209
209
|
- Draft plans, undecided architecture, or open implementation questions. Those
|
|
210
|
-
belong in `
|
|
210
|
+
belong in `context/`.
|
package/package.json
CHANGED
|
@@ -1,30 +1,26 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "code-anchored-context",
|
|
3
|
-
"version": "0.
|
|
4
|
-
"description": "Install repo-local agent context,
|
|
3
|
+
"version": "0.2.1",
|
|
4
|
+
"description": "Install repo-local agent context, release initiatives, and release-anchored docs scaffolding into an existing project.",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"type": "module",
|
|
7
7
|
"bin": {
|
|
8
|
-
"code-anchored-context": "
|
|
8
|
+
"code-anchored-context": "bin/code-anchored-context.js"
|
|
9
9
|
},
|
|
10
10
|
"files": [
|
|
11
11
|
"AGENTS.md",
|
|
12
12
|
".agents/",
|
|
13
|
-
"
|
|
14
|
-
"
|
|
15
|
-
"
|
|
16
|
-
"
|
|
17
|
-
"
|
|
18
|
-
"
|
|
19
|
-
"
|
|
20
|
-
"
|
|
21
|
-
"
|
|
22
|
-
"
|
|
23
|
-
"
|
|
24
|
-
"Development/releases/v0_1_0/backlog.md",
|
|
25
|
-
"Development/releases/v0_1_0/initiatives/.gitkeep",
|
|
26
|
-
"Development/terminology.md",
|
|
27
|
-
"Documentation/",
|
|
13
|
+
"context/AGENTS.md",
|
|
14
|
+
"context/README.md",
|
|
15
|
+
"context/_templates/",
|
|
16
|
+
"context/backlog/",
|
|
17
|
+
"context/current.md",
|
|
18
|
+
"context/programs/",
|
|
19
|
+
"context/releases/v0_1_0/README.md",
|
|
20
|
+
"context/releases/v0_1_0/backlog.md",
|
|
21
|
+
"context/releases/v0_1_0/initiatives/.gitkeep",
|
|
22
|
+
"context/terminology.md",
|
|
23
|
+
"docs/",
|
|
28
24
|
"bin/",
|
|
29
25
|
"README.md",
|
|
30
26
|
"LICENSE"
|
|
@@ -40,6 +36,7 @@
|
|
|
40
36
|
"codex",
|
|
41
37
|
"ai",
|
|
42
38
|
"documentation",
|
|
43
|
-
"
|
|
39
|
+
"working-context",
|
|
40
|
+
"docs"
|
|
44
41
|
]
|
|
45
42
|
}
|
|
@@ -1,133 +0,0 @@
|
|
|
1
|
-
# Code-Anchored Context: The Structure
|
|
2
|
-
|
|
3
|
-
This is the companion to the
|
|
4
|
-
[reasoning article](code-anchored-context-why.md). It covers how development
|
|
5
|
-
context is laid out so both humans and agents can navigate it.
|
|
6
|
-
|
|
7
|
-
## Denormalize Navigation, Not Knowledge
|
|
8
|
-
|
|
9
|
-
Agents and IDEs do not always open from the repo root. They may start in
|
|
10
|
-
product code, CI/CD config, infrastructure code, generated artifacts, or a
|
|
11
|
-
nested app. If all guidance lives at the top, it gets missed. If each area
|
|
12
|
-
keeps its own plans, cross-project work fragments.
|
|
13
|
-
|
|
14
|
-
> Denormalize navigation, not knowledge.
|
|
15
|
-
|
|
16
|
-
Local `AGENTS.md` files point agents toward the right place. But plans, specs,
|
|
17
|
-
ADRs, release context, testing strategy, delivery notes, and infrastructure
|
|
18
|
-
context live centrally under `Development/`.
|
|
19
|
-
|
|
20
|
-
## The Core Model
|
|
21
|
-
|
|
22
|
-
Vocabulary is captured in `Development/terminology.md`. The main containers:
|
|
23
|
-
|
|
24
|
-
```text
|
|
25
|
-
Program Long-lived multi-release effort.
|
|
26
|
-
Planned initiative A scoped future slice inside a program.
|
|
27
|
-
Release initiative Active or historical work for a specific release.
|
|
28
|
-
Development backlog item Isolated work cut from scope but worth preserving.
|
|
29
|
-
Program release slice What a release contributes to a program.
|
|
30
|
-
```
|
|
31
|
-
|
|
32
|
-
Each kind of context gets a home:
|
|
33
|
-
|
|
34
|
-
```text
|
|
35
|
-
Development/
|
|
36
|
-
terminology.md
|
|
37
|
-
current.md
|
|
38
|
-
programs/
|
|
39
|
-
backlog/
|
|
40
|
-
releases/
|
|
41
|
-
_templates/
|
|
42
|
-
```
|
|
43
|
-
|
|
44
|
-
Structure follows delivery concerns, not technologies. Name a file for the
|
|
45
|
-
knowledge it preserves, not the tool that produced it.
|
|
46
|
-
|
|
47
|
-
## Release Initiatives
|
|
48
|
-
|
|
49
|
-
The main unit of active delivery:
|
|
50
|
-
|
|
51
|
-
```text
|
|
52
|
-
Development/releases/<version>/initiatives/<initiative>/
|
|
53
|
-
README.md plan.md spec.md interface.md architecture.md
|
|
54
|
-
testing.md delivery.md infrastructure.md operations.md
|
|
55
|
-
backlog.md decisions/ release-doc-notes.md
|
|
56
|
-
```
|
|
57
|
-
|
|
58
|
-
The most important file is `plan.md` — the working alignment space. It can be
|
|
59
|
-
messy with notes, options, and tradeoffs, with one rule:
|
|
60
|
-
|
|
61
|
-
> `plan.md` may be messy, but it must not be the only place settled truth lives.
|
|
62
|
-
|
|
63
|
-
Once something stabilizes, it moves to a durable file:
|
|
64
|
-
|
|
65
|
-
```text
|
|
66
|
-
spec.md What the system should do.
|
|
67
|
-
interface.md How clients, APIs, config, or tools interact with it.
|
|
68
|
-
architecture.md Internal shape, boundaries, data flow, tradeoffs.
|
|
69
|
-
testing.md Verification strategy, coverage, gates, known gaps.
|
|
70
|
-
delivery.md CI/CD, build, deployment, promotion, release toggles.
|
|
71
|
-
infrastructure.md Environments, IaC, networking, identity, storage, secrets.
|
|
72
|
-
operations.md Runtime/support: observability, failure modes, rollback.
|
|
73
|
-
backlog.md Trackable work items and progress.
|
|
74
|
-
decisions/ Durable decisions and consequences (ADRs).
|
|
75
|
-
release-doc-notes.md What should become product documentation later.
|
|
76
|
-
```
|
|
77
|
-
|
|
78
|
-
Not every initiative needs every file. The point is to give stable knowledge a
|
|
79
|
-
place to land — testing, delivery, and infrastructure are first-class context,
|
|
80
|
-
not afterthoughts buried in pipeline files or PRs.
|
|
81
|
-
|
|
82
|
-
## Programs And Planned Initiatives
|
|
83
|
-
|
|
84
|
-
Some work is bigger than one release. A program holds durable multi-release
|
|
85
|
-
context:
|
|
86
|
-
|
|
87
|
-
```text
|
|
88
|
-
Development/programs/<program>/
|
|
89
|
-
README.md context.md roadmap.md backlog.md
|
|
90
|
-
decisions/ planned-initiatives/ releases/
|
|
91
|
-
```
|
|
92
|
-
|
|
93
|
-
Future work that is clear enough to plan — but whose target release is not
|
|
94
|
-
current yet — becomes a planned initiative:
|
|
95
|
-
|
|
96
|
-
```text
|
|
97
|
-
Development/programs/<program>/planned-initiatives/<initiative>/
|
|
98
|
-
```
|
|
99
|
-
|
|
100
|
-
When the target release becomes current, it is promoted into
|
|
101
|
-
`Development/releases/<version>/initiatives/<initiative>/`. Promotion is
|
|
102
|
-
explicit; the original planned initiative stays as historical context.
|
|
103
|
-
|
|
104
|
-
## Development Backlog
|
|
105
|
-
|
|
106
|
-
Work cut from scope but worth preserving — when it doesn't justify a program or
|
|
107
|
-
planned initiative — lives in:
|
|
108
|
-
|
|
109
|
-
```text
|
|
110
|
-
Development/backlog/items/<originating-initiative>--<item>.md
|
|
111
|
-
```
|
|
112
|
-
|
|
113
|
-
Each item records where it came from, why it was deferred, future value, and
|
|
114
|
-
re-entry criteria. If picked up later, it is marked promoted and linked — never
|
|
115
|
-
silently rewritten.
|
|
116
|
-
|
|
117
|
-
## Release Transitions
|
|
118
|
-
|
|
119
|
-
Changing the current release is more than editing a pointer. When
|
|
120
|
-
`Development/current.md` moves to a new release, agents should scan program
|
|
121
|
-
planned initiatives, promote items targeting the new release into the release
|
|
122
|
-
folder, update links both ways, and preserve the originals as history.
|
|
123
|
-
|
|
124
|
-
```mermaid
|
|
125
|
-
flowchart TD
|
|
126
|
-
Start["Set a new current release"]
|
|
127
|
-
Scan["Scan program planned initiatives"]
|
|
128
|
-
Promote["Promote into releases/<version>/initiatives/"]
|
|
129
|
-
Link["Update links both ways"]
|
|
130
|
-
Preserve["Preserve original as history"]
|
|
131
|
-
|
|
132
|
-
Start --> Scan --> Promote --> Link --> Preserve
|
|
133
|
-
```
|
|
@@ -1,80 +0,0 @@
|
|
|
1
|
-
# Code-Anchored Context: Giving AI Agents The Context Around The Code
|
|
2
|
-
|
|
3
|
-
AI agents are good at reading repositories, editing files, and following
|
|
4
|
-
instructions. But in large codebases, code is not the whole story.
|
|
5
|
-
|
|
6
|
-
The hard part is not whether an agent can change a file. It is whether it
|
|
7
|
-
understands the intent behind the change, the current release scope, the
|
|
8
|
-
decisions already made, the work deliberately deferred, how the change should
|
|
9
|
-
be verified, how it ships, and what infrastructure or operational risks
|
|
10
|
-
surround it.
|
|
11
|
-
|
|
12
|
-
That context usually exists — in chats, tickets, pull request comments,
|
|
13
|
-
planning notes, and people's heads — but agents need it in a structured,
|
|
14
|
-
discoverable form.
|
|
15
|
-
|
|
16
|
-
## Documentation vs Development
|
|
17
|
-
|
|
18
|
-
This is why I separate **released product documentation** from **development
|
|
19
|
-
context**:
|
|
20
|
-
|
|
21
|
-
```text
|
|
22
|
-
Documentation/ What shipped.
|
|
23
|
-
Development/ What we are planning, building, deciding, testing,
|
|
24
|
-
shipping, hosting, deferring, and learning.
|
|
25
|
-
```
|
|
26
|
-
|
|
27
|
-
Product documentation stays stable and release-accurate: it describes a known
|
|
28
|
-
release, not an unfinished branch. Development context is allowed to evolve —
|
|
29
|
-
it is where humans and agents work through ambiguity.
|
|
30
|
-
|
|
31
|
-
## The Principle
|
|
32
|
-
|
|
33
|
-
I think of this as **Code-Anchored Context**. Not a methodology — a rule of
|
|
34
|
-
thumb:
|
|
35
|
-
|
|
36
|
-
> Keep truth as close to code as possible, and keep the surrounding context
|
|
37
|
-
> structured enough that both humans and agents can find it.
|
|
38
|
-
|
|
39
|
-
It is opinionated on purpose: prefer repository-local context, explicit
|
|
40
|
-
lifetimes, and navigable structure over scattered notes that only make sense
|
|
41
|
-
to the people who were in the room. Repository-local context scales beyond one
|
|
42
|
-
person.
|
|
43
|
-
|
|
44
|
-
## Why It Travels
|
|
45
|
-
|
|
46
|
-
When context is materialized in the repository, it stops being tied to one
|
|
47
|
-
chat transcript, IDE, agent, or session. A team can switch tools without
|
|
48
|
-
losing the trail of why the system is shaped the way it is. The next human or
|
|
49
|
-
agent opens the repo and continues from the same accumulated understanding
|
|
50
|
-
instead of reconstructing it from memory.
|
|
51
|
-
|
|
52
|
-
```mermaid
|
|
53
|
-
flowchart LR
|
|
54
|
-
Code["Codebase<br/>What exists"]
|
|
55
|
-
Dev["Development/<br/>What is being planned, built, decided, tested, shipped, deferred"]
|
|
56
|
-
Docs["Documentation/<br/>What shipped in a known release"]
|
|
57
|
-
Agents["Agents and humans"]
|
|
58
|
-
|
|
59
|
-
Agents --> Code
|
|
60
|
-
Agents --> Dev
|
|
61
|
-
Dev -->|"release-doc-notes.md captures future docs impact"| Docs
|
|
62
|
-
Docs -->|"stable release truth"| Agents
|
|
63
|
-
```
|
|
64
|
-
|
|
65
|
-
## Why It Matters
|
|
66
|
-
|
|
67
|
-
Code-Anchored Context is context continuity. It helps agents and humans answer:
|
|
68
|
-
|
|
69
|
-
- What is active now, and what belongs to a future phase?
|
|
70
|
-
- What was cut from scope, and why was a decision made?
|
|
71
|
-
- How should this be tested, and what gates must pass before release?
|
|
72
|
-
- How will it ship, and what infrastructure does it depend on?
|
|
73
|
-
- What should become product documentation later?
|
|
74
|
-
- What reasoning needs to survive a change of IDE, agent, or session?
|
|
75
|
-
|
|
76
|
-
Code tells an agent *what exists*. Development context tells it *why* it
|
|
77
|
-
exists, where it is going, what has been decided, and what was left for later.
|
|
78
|
-
|
|
79
|
-
For the concrete folder layout, see the companion article,
|
|
80
|
-
[Code-Anchored Context: The Structure](code-anchored-context-structure.md).
|