waypoint-codex 0.14.0 → 0.16.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.
- package/README.md +196 -67
- package/dist/src/core.js +5 -11
- package/package.json +1 -1
- package/templates/.agents/skills/adversarial-review/SKILL.md +2 -2
- package/templates/.agents/skills/adversarial-review/agents/openai.yaml +2 -2
- package/templates/.agents/skills/backend-context-interview/SKILL.md +1 -1
- package/templates/.agents/skills/backend-ship-audit/SKILL.md +1 -1
- package/templates/.agents/skills/break-it-qa/agents/openai.yaml +1 -1
- package/templates/.agents/skills/code-guide-audit/SKILL.md +1 -1
- package/templates/.agents/skills/frontend-context-interview/SKILL.md +1 -1
- package/templates/.agents/skills/frontend-ship-audit/SKILL.md +1 -1
- package/templates/.agents/skills/merge-ready-owner/SKILL.md +187 -0
- package/templates/.agents/skills/merge-ready-owner/agents/openai.yaml +4 -0
- package/templates/.agents/skills/work-tracker/SKILL.md +7 -2
- package/templates/.codex/agents/coding-agent.toml +5 -6
- package/templates/.gitignore.snippet +1 -1
- package/templates/.waypoint/README.md +5 -1
- package/templates/.waypoint/SOUL.md +2 -0
- package/templates/.waypoint/agent-operating-manual.md +20 -10
- package/templates/.waypoint/docs/code-guide.md +67 -11
- package/templates/managed-agents-block.md +20 -10
- package/templates/.waypoint/MEMORY.md +0 -20
package/README.md
CHANGED
|
@@ -1,89 +1,199 @@
|
|
|
1
1
|
# Waypoint
|
|
2
2
|
|
|
3
|
-
Waypoint
|
|
3
|
+
Waypoint makes Codex better by default for real software work.
|
|
4
4
|
|
|
5
|
-
|
|
5
|
+
Codex is already powerful. The problem is that most users still have to teach it
|
|
6
|
+
the same things over and over:
|
|
6
7
|
|
|
7
|
-
-
|
|
8
|
-
-
|
|
8
|
+
- ask better questions before coding
|
|
9
|
+
- plan thoroughly instead of making hidden assumptions
|
|
10
|
+
- follow stronger coding standards
|
|
11
|
+
- review the result seriously before merge
|
|
12
|
+
- verify the work instead of guessing
|
|
13
|
+
- learn from corrections instead of repeating the same mistakes
|
|
9
14
|
|
|
10
|
-
|
|
15
|
+
Waypoint installs those defaults into a repo so you can spend less time
|
|
16
|
+
prompting and more time building.
|
|
11
17
|
|
|
12
|
-
|
|
18
|
+
## Install and upgrade
|
|
13
19
|
|
|
14
|
-
|
|
20
|
+
Waypoint requires Node 20+.
|
|
21
|
+
|
|
22
|
+
Install globally:
|
|
23
|
+
|
|
24
|
+
```bash
|
|
25
|
+
npm install -g waypoint-codex
|
|
26
|
+
```
|
|
27
|
+
|
|
28
|
+
Or try it without a global install:
|
|
29
|
+
|
|
30
|
+
```bash
|
|
31
|
+
npx waypoint-codex@latest --help
|
|
32
|
+
```
|
|
33
|
+
|
|
34
|
+
Keep an existing repo up to date:
|
|
35
|
+
|
|
36
|
+
```bash
|
|
37
|
+
waypoint upgrade
|
|
38
|
+
```
|
|
39
|
+
|
|
40
|
+
## What gets better
|
|
41
|
+
|
|
42
|
+
With Waypoint, Codex should become better at:
|
|
43
|
+
|
|
44
|
+
- understanding the product and technical context before it starts
|
|
45
|
+
- planning work in enough detail to avoid avoidable mistakes
|
|
46
|
+
- writing code that matches the codebase and holds up in production
|
|
47
|
+
- staying on track during larger or longer-running tasks
|
|
48
|
+
- reviewing and verifying its own work before calling it done
|
|
49
|
+
- improving its own guidance when the user corrects it
|
|
50
|
+
|
|
51
|
+
## Why Waypoint exists
|
|
52
|
+
|
|
53
|
+
Waypoint is for people using Codex on real apps and real codebases, not just
|
|
54
|
+
tiny one-off edits.
|
|
55
|
+
|
|
56
|
+
It exists because most Codex users should not have to manually remember every
|
|
57
|
+
best practice, every guardrail, every planning question, and every review step
|
|
58
|
+
for every task.
|
|
59
|
+
|
|
60
|
+
Waypoint packages that expertise into the repo so Codex starts from a much
|
|
61
|
+
better default.
|
|
62
|
+
|
|
63
|
+
## What Waypoint adds
|
|
64
|
+
|
|
65
|
+
### 1. Better default behavior
|
|
66
|
+
|
|
67
|
+
Waypoint gives Codex stronger repo guidance through the generated contract,
|
|
68
|
+
operating manual, core behavior files, and repo-local instructions.
|
|
69
|
+
|
|
70
|
+
That means the agent is pushed to:
|
|
71
|
+
|
|
72
|
+
- investigate before narrating status
|
|
73
|
+
- ask better questions about the product, architecture, and constraints
|
|
74
|
+
- explain what it found in a clear way
|
|
75
|
+
- verify what it changed
|
|
76
|
+
- leave the repo clearer than it found it
|
|
77
|
+
|
|
78
|
+
### 2. Better planning
|
|
79
|
+
|
|
80
|
+
Waypoint ships a thorough planning workflow for work that should not start from
|
|
81
|
+
guesswork.
|
|
82
|
+
|
|
83
|
+
That workflow pushes the agent to:
|
|
15
84
|
|
|
16
|
-
|
|
85
|
+
- interview the user until the real requirements are clear
|
|
86
|
+
- produce a detailed plan before implementation
|
|
87
|
+
- challenge that plan with a reviewer agent
|
|
88
|
+
- tighten the plan before coding starts
|
|
17
89
|
|
|
18
|
-
|
|
19
|
-
-
|
|
20
|
-
- optional structured workflows when the task actually needs them
|
|
90
|
+
The goal is simple: fewer assumptions, fewer surprises, and a much better shot
|
|
91
|
+
at one-shot execution.
|
|
21
92
|
|
|
22
|
-
|
|
93
|
+
### 3. Better code quality
|
|
23
94
|
|
|
24
|
-
-
|
|
25
|
-
|
|
26
|
-
- fix what you can
|
|
27
|
-
- verify it
|
|
28
|
-
- leave the repo clearer than you found it
|
|
95
|
+
Waypoint does not assume Codex will naturally write production-quality code by
|
|
96
|
+
default.
|
|
29
97
|
|
|
30
|
-
|
|
98
|
+
It adds guardrails that push the agent toward:
|
|
31
99
|
|
|
32
|
-
|
|
100
|
+
- stronger coding standards
|
|
101
|
+
- better fit with the existing codebase
|
|
102
|
+
- fewer lazy shortcuts
|
|
103
|
+
- fewer architecture mistakes
|
|
104
|
+
- fewer duplicated or premature abstractions
|
|
33
105
|
|
|
34
|
-
|
|
35
|
-
|
|
106
|
+
Reviewer agents and audit workflows add another pass before merge when the work
|
|
107
|
+
needs it.
|
|
108
|
+
|
|
109
|
+
### 4. Better end-to-end execution
|
|
110
|
+
|
|
111
|
+
Waypoint also helps Codex follow through on bigger tasks.
|
|
112
|
+
|
|
113
|
+
It includes workflows for:
|
|
114
|
+
|
|
115
|
+
- long-running task tracking
|
|
116
|
+
- ship-readiness audits
|
|
117
|
+
- merge-ready ownership
|
|
118
|
+
- deliberate review passes before PR or merge
|
|
119
|
+
|
|
120
|
+
This helps the agent keep moving until the work is actually ready, not just
|
|
121
|
+
"probably done."
|
|
122
|
+
|
|
123
|
+
### 5. Self-improvement
|
|
124
|
+
|
|
125
|
+
Waypoint treats user corrections as product input, not just conversation noise.
|
|
126
|
+
|
|
127
|
+
When the user corrects behavior, rules, or workflow, the agent is pushed to
|
|
128
|
+
update the right durable files so the same issue is less likely to happen
|
|
129
|
+
again.
|
|
130
|
+
|
|
131
|
+
That includes:
|
|
132
|
+
|
|
133
|
+
- user-scoped guidance
|
|
134
|
+
- project-scoped guidance
|
|
36
135
|
- repo-local skills
|
|
37
|
-
-
|
|
38
|
-
|
|
136
|
+
- retrospectives that turn friction from the current conversation into lasting
|
|
137
|
+
improvements
|
|
39
138
|
|
|
40
|
-
|
|
139
|
+
### 6. Better continuity
|
|
41
140
|
|
|
42
|
-
|
|
141
|
+
Waypoint gives Codex explicit continuity artifacts so the next session does not
|
|
142
|
+
start half-blind.
|
|
43
143
|
|
|
44
|
-
|
|
45
|
-
- ship-readiness passes
|
|
46
|
-
- trackers
|
|
47
|
-
- retrospectives
|
|
48
|
-
- pre-PR hygiene
|
|
144
|
+
That includes:
|
|
49
145
|
|
|
50
|
-
|
|
146
|
+
- a generated docs index that tells the agent which docs exist and when to read
|
|
147
|
+
them
|
|
148
|
+
- a live workspace file that records what is going on right now
|
|
149
|
+
- a generated recent thread file that carries the most important prior
|
|
150
|
+
conversation context forward
|
|
51
151
|
|
|
52
152
|
## What Waypoint sets up
|
|
53
153
|
|
|
54
154
|
Waypoint scaffolds a Codex-friendly repo around a few core pieces:
|
|
55
155
|
|
|
56
|
-
- `AGENTS.md` for the startup contract
|
|
57
|
-
- `.waypoint/MEMORY.md` for durable user/team preferences and collaboration context
|
|
156
|
+
- `AGENTS.md` for the project-scoped startup contract and durable repo guidance
|
|
58
157
|
- `.waypoint/WORKSPACE.md` for live operational state
|
|
59
158
|
- `.waypoint/docs/` for long-lived project docs
|
|
60
159
|
- `.waypoint/plans/` for durable plan documents
|
|
61
|
-
- `.waypoint/DOCS_INDEX.md` for docs and plans routing
|
|
160
|
+
- `.waypoint/DOCS_INDEX.md` for docs and plans routing, so the agent knows what
|
|
161
|
+
to read and when
|
|
62
162
|
- `.waypoint/context/` for generated startup context
|
|
63
|
-
- `.waypoint/
|
|
163
|
+
- `.waypoint/context/RECENT_THREAD.md` for compact continuity from the previous
|
|
164
|
+
conversation
|
|
165
|
+
- `.waypoint/track/` for long-running work that truly needs durable progress
|
|
166
|
+
tracking
|
|
64
167
|
- `.agents/skills/` for optional structured workflows
|
|
65
168
|
- `.codex/` for optional reviewer and helper agents
|
|
66
169
|
|
|
67
|
-
|
|
170
|
+
By default, Waypoint routes docs from `.waypoint/docs/` and plans from
|
|
171
|
+
`.waypoint/plans/`.
|
|
172
|
+
If your repo keeps routable docs elsewhere, you can add more explicit roots in
|
|
173
|
+
`.waypoint/config.toml` with `docs_dirs` and `plans_dirs`.
|
|
174
|
+
Waypoint scans each configured root recursively and only includes Markdown files
|
|
175
|
+
with valid Waypoint frontmatter.
|
|
68
176
|
|
|
69
|
-
|
|
70
|
-
- more explicit repo-local state
|
|
71
|
-
- stronger default collaboration
|
|
72
|
-
- investigation before status narration
|
|
73
|
-
- structured workflows that stay in their own tools
|
|
177
|
+
The continuity story matters:
|
|
74
178
|
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
179
|
+
- `.waypoint/DOCS_INDEX.md` helps the agent find the right docs before work
|
|
180
|
+
- `.waypoint/WORKSPACE.md` helps the next session understand what is in flight
|
|
181
|
+
- `.waypoint/context/RECENT_THREAD.md` helps the agent retain the important
|
|
182
|
+
parts of the previous conversation
|
|
78
183
|
|
|
79
184
|
## Best fit
|
|
80
185
|
|
|
81
186
|
Waypoint is most useful when you want:
|
|
82
187
|
|
|
83
|
-
-
|
|
84
|
-
-
|
|
85
|
-
-
|
|
86
|
-
-
|
|
188
|
+
- a better default Codex workflow in a real repo
|
|
189
|
+
- stronger planning before implementation starts
|
|
190
|
+
- stronger coding standards and review guardrails
|
|
191
|
+
- better follow-through on long tasks
|
|
192
|
+
- a personal workflow that can live in almost any repo without becoming a team
|
|
193
|
+
rollout
|
|
194
|
+
|
|
195
|
+
Waypoint is primarily an individual tool.
|
|
196
|
+
Most of its repo-local state is meant to stay personal and local by default.
|
|
87
197
|
|
|
88
198
|
If you only use Codex for tiny one-off edits, Waypoint is probably unnecessary.
|
|
89
199
|
|
|
@@ -108,7 +218,6 @@ repo/
|
|
|
108
218
|
│ └── skills/
|
|
109
219
|
└── .waypoint/
|
|
110
220
|
├── DOCS_INDEX.md
|
|
111
|
-
├── MEMORY.md
|
|
112
221
|
├── TRACKS_INDEX.md
|
|
113
222
|
├── WORKSPACE.md
|
|
114
223
|
├── docs/
|
|
@@ -148,6 +257,7 @@ Waypoint ships a strong default skill pack for real coding work:
|
|
|
148
257
|
- `conversation-retrospective`
|
|
149
258
|
- `frontend-ship-audit`
|
|
150
259
|
- `backend-ship-audit`
|
|
260
|
+
- `merge-ready-owner`
|
|
151
261
|
- `workspace-compress`
|
|
152
262
|
- `pre-pr-hygiene`
|
|
153
263
|
- `pr-review`
|
|
@@ -155,7 +265,37 @@ Waypoint ships a strong default skill pack for real coding work:
|
|
|
155
265
|
These are repo-local, so the workflow travels with the project.
|
|
156
266
|
|
|
157
267
|
The important design choice is that they stay out of the always-on voice.
|
|
158
|
-
Each skill
|
|
268
|
+
Each skill exists to improve the result when the task needs more rigor, without
|
|
269
|
+
turning every normal interaction into a heavy process.
|
|
270
|
+
|
|
271
|
+
## How to get full value
|
|
272
|
+
|
|
273
|
+
Installing Waypoint improves Codex's defaults right away, but the full workflow
|
|
274
|
+
is not completely automatic.
|
|
275
|
+
|
|
276
|
+
Some of Waypoint's biggest advantages come from user-invoked skills that should
|
|
277
|
+
be used deliberately when the moment calls for them.
|
|
278
|
+
|
|
279
|
+
The most important ones are:
|
|
280
|
+
|
|
281
|
+
- `code-guide-audit` when you want a code quality pass against your repo's
|
|
282
|
+
standards and working rules
|
|
283
|
+
- `backend-ship-audit` when backend work needs a deeper production-readiness
|
|
284
|
+
pass
|
|
285
|
+
- `frontend-ship-audit` when frontend work needs a deeper product, UX, and ship
|
|
286
|
+
readiness pass
|
|
287
|
+
- `docs-sync` when the implementation changed and the repo docs should be
|
|
288
|
+
brought back in sync
|
|
289
|
+
- `conversation-retrospective` when the conversation exposed friction,
|
|
290
|
+
corrections, or workflow problems that should become durable improvements
|
|
291
|
+
- `merge-ready-owner` when you want the agent to own the task all the way to a
|
|
292
|
+
merge-ready result with stronger autonomy
|
|
293
|
+
|
|
294
|
+
The practical rule is:
|
|
295
|
+
|
|
296
|
+
- install Waypoint for better defaults
|
|
297
|
+
- invoke the higher-rigor skills when you want a stronger planning, audit,
|
|
298
|
+
review, docs, or closeout pass
|
|
159
299
|
|
|
160
300
|
## Reviewer agents
|
|
161
301
|
|
|
@@ -165,7 +305,7 @@ Waypoint scaffolds these reviewer agents by default:
|
|
|
165
305
|
- `code-reviewer`
|
|
166
306
|
- `plan-reviewer`
|
|
167
307
|
|
|
168
|
-
They are available for deliberate second passes
|
|
308
|
+
They are available for deliberate second passes and for ownership workflows like `merge-ready-owner`.
|
|
169
309
|
|
|
170
310
|
## What makes Waypoint different
|
|
171
311
|
|
|
@@ -173,24 +313,13 @@ Waypoint is opinionated, but explicit:
|
|
|
173
313
|
|
|
174
314
|
- state lives in files you can inspect
|
|
175
315
|
- docs routing is generated, not guessed from memory
|
|
176
|
-
- the default contract tells the agent to investigate
|
|
177
|
-
|
|
316
|
+
- the default contract tells the agent to ask better questions and investigate
|
|
317
|
+
first
|
|
318
|
+
- durable guidance is separated into user-scoped AGENTS, project-scoped AGENTS, live workspace state, project docs, and plan docs
|
|
178
319
|
- visual explanation stays lightweight: Mermaid in chat and screenshots from real UI inspection
|
|
179
320
|
- heavier workflows stay in optional skills
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
Waypoint requires Node 20+.
|
|
184
|
-
|
|
185
|
-
```bash
|
|
186
|
-
npm install -g waypoint-codex
|
|
187
|
-
```
|
|
188
|
-
|
|
189
|
-
Or run it without a global install:
|
|
190
|
-
|
|
191
|
-
```bash
|
|
192
|
-
npx waypoint-codex@latest --help
|
|
193
|
-
```
|
|
321
|
+
- user corrections are supposed to improve the system instead of disappearing
|
|
322
|
+
into chat history
|
|
194
323
|
|
|
195
324
|
## Main commands
|
|
196
325
|
|
package/dist/src/core.js
CHANGED
|
@@ -7,7 +7,6 @@ import { defaultWaypointConfig, readTemplate, renderWaypointConfig, MANAGED_BLOC
|
|
|
7
7
|
const DEFAULT_CONFIG_PATH = ".waypoint/config.toml";
|
|
8
8
|
const DEFAULT_DOCS_DIR = ".waypoint/docs";
|
|
9
9
|
const DEFAULT_DOCS_INDEX = ".waypoint/DOCS_INDEX.md";
|
|
10
|
-
const DEFAULT_MEMORY = ".waypoint/MEMORY.md";
|
|
11
10
|
const DEFAULT_PLANS_DIR = ".waypoint/plans";
|
|
12
11
|
const DEFAULT_TRACK_DIR = ".waypoint/track";
|
|
13
12
|
const DEFAULT_TRACKS_INDEX = ".waypoint/TRACKS_INDEX.md";
|
|
@@ -36,11 +35,11 @@ const LEGACY_WAYPOINT_GITIGNORE_RULES = new Set([
|
|
|
36
35
|
".agents/skills/frontend-ship-audit/",
|
|
37
36
|
".agents/skills/backend-ship-audit/",
|
|
38
37
|
".agents/skills/conversation-retrospective/",
|
|
38
|
+
".agents/skills/merge-ready-owner/",
|
|
39
39
|
".agents/skills/workspace-compress/",
|
|
40
40
|
".agents/skills/pre-pr-hygiene/",
|
|
41
41
|
".agents/skills/pr-review/",
|
|
42
42
|
".waypoint/config.toml",
|
|
43
|
-
".waypoint/MEMORY.md",
|
|
44
43
|
".waypoint/README.md",
|
|
45
44
|
".waypoint/SOUL.md",
|
|
46
45
|
".waypoint/WORKSPACE.md",
|
|
@@ -67,6 +66,7 @@ const SHIPPED_SKILL_NAMES = [
|
|
|
67
66
|
"adversarial-review",
|
|
68
67
|
"break-it-qa",
|
|
69
68
|
"conversation-retrospective",
|
|
69
|
+
"merge-ready-owner",
|
|
70
70
|
"workspace-compress",
|
|
71
71
|
"pre-pr-hygiene",
|
|
72
72
|
"pr-review",
|
|
@@ -177,13 +177,8 @@ function migrateLegacyRootFiles(projectRoot) {
|
|
|
177
177
|
if (existsSync(legacyWorkspace) && !existsSync(newWorkspace)) {
|
|
178
178
|
writeText(newWorkspace, readFileSync(legacyWorkspace, "utf8"));
|
|
179
179
|
}
|
|
180
|
-
const legacyMemory = path.join(projectRoot, "MEMORY.md");
|
|
181
|
-
const newMemory = path.join(projectRoot, DEFAULT_MEMORY);
|
|
182
|
-
if (existsSync(legacyMemory) && !existsSync(newMemory)) {
|
|
183
|
-
writeText(newMemory, readFileSync(legacyMemory, "utf8"));
|
|
184
|
-
}
|
|
185
180
|
removePathIfExists(legacyWorkspace);
|
|
186
|
-
removePathIfExists(
|
|
181
|
+
removePathIfExists(path.join(projectRoot, "MEMORY.md"));
|
|
187
182
|
removePathIfExists(path.join(projectRoot, "DOCS_INDEX.md"));
|
|
188
183
|
}
|
|
189
184
|
function appendGitignoreSnippet(projectRoot) {
|
|
@@ -373,6 +368,7 @@ export function initRepository(projectRoot, options) {
|
|
|
373
368
|
".codex/agents/implementer.toml",
|
|
374
369
|
".waypoint/agents",
|
|
375
370
|
".waypoint/automations",
|
|
371
|
+
".waypoint/MEMORY.md",
|
|
376
372
|
".waypoint/rules",
|
|
377
373
|
".waypoint/state",
|
|
378
374
|
]) {
|
|
@@ -381,7 +377,6 @@ export function initRepository(projectRoot, options) {
|
|
|
381
377
|
writeText(path.join(projectRoot, ".waypoint/README.md"), readTemplate(".waypoint/README.md"));
|
|
382
378
|
writeText(path.join(projectRoot, ".waypoint/SOUL.md"), readTemplate(".waypoint/SOUL.md"));
|
|
383
379
|
writeText(path.join(projectRoot, ".waypoint/agent-operating-manual.md"), readTemplate(".waypoint/agent-operating-manual.md"));
|
|
384
|
-
writeIfMissing(path.join(projectRoot, DEFAULT_MEMORY), readTemplate(".waypoint/MEMORY.md"));
|
|
385
380
|
scaffoldWaypointOptionalTemplates(projectRoot);
|
|
386
381
|
writeText(path.join(projectRoot, DEFAULT_CONFIG_PATH), renderWaypointConfig(config));
|
|
387
382
|
writeIfMissing(path.join(projectRoot, DEFAULT_WORKSPACE), readTemplate("WORKSPACE.md"));
|
|
@@ -403,7 +398,7 @@ export function initRepository(projectRoot, options) {
|
|
|
403
398
|
return [
|
|
404
399
|
"Initialized Waypoint scaffold",
|
|
405
400
|
"Installed managed AGENTS block",
|
|
406
|
-
"Created .waypoint/
|
|
401
|
+
"Created .waypoint/WORKSPACE.md, .waypoint/docs/, .waypoint/plans/, and .waypoint/track/ scaffold",
|
|
407
402
|
"Installed repo-local Waypoint skills",
|
|
408
403
|
"Installed coding/reviewer agents and project Codex config",
|
|
409
404
|
"Generated .waypoint/DOCS_INDEX.md and .waypoint/TRACKS_INDEX.md",
|
|
@@ -515,7 +510,6 @@ export function doctorRepository(projectRoot) {
|
|
|
515
510
|
}
|
|
516
511
|
}
|
|
517
512
|
for (const requiredFile of [
|
|
518
|
-
path.join(projectRoot, DEFAULT_MEMORY),
|
|
519
513
|
path.join(projectRoot, ".waypoint", "SOUL.md"),
|
|
520
514
|
path.join(projectRoot, ".waypoint", "agent-operating-manual.md"),
|
|
521
515
|
path.join(projectRoot, ".waypoint", "scripts", "prepare-context.mjs"),
|
package/package.json
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: adversarial-review
|
|
3
|
-
description:
|
|
3
|
+
description: Second-pass closeout review for a non-trivial implementation slice. Use when risky work needs a deliberate final review before being called done. This skill scopes the slice, runs the right reviewer agents and code-guide checks, fixes meaningful findings, and repeats until only optional polish remains.
|
|
4
4
|
---
|
|
5
5
|
|
|
6
6
|
# Adversarial Review
|
|
7
7
|
|
|
8
|
-
Use this skill when you explicitly want a closeout-grade second pass
|
|
8
|
+
Use this skill when you explicitly want a closeout-grade second pass before calling a non-trivial slice done or ready to ship.
|
|
9
9
|
|
|
10
10
|
This skill coordinates the specialist reviewers, keeps the scope tight, waits as long as needed, fixes meaningful findings, and reruns fresh review rounds until the remaining feedback is only optional polish or no findings at all.
|
|
11
11
|
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
interface:
|
|
2
2
|
display_name: "Adversarial Review"
|
|
3
|
-
short_description: "
|
|
4
|
-
default_prompt: "Use $adversarial-review
|
|
3
|
+
short_description: "Run a deliberate second-pass closeout review"
|
|
4
|
+
default_prompt: "Use $adversarial-review when this non-trivial implementation slice needs a deliberate final review loop with reviewer agents and code-guide checks before we call it done."
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: backend-context-interview
|
|
3
|
-
description:
|
|
3
|
+
description: Fill missing backend project context that materially changes engineering decisions. Use when durable backend facts like exposure, scale, criticality, compatibility, tenant model, security, observability, or compliance are not already clear in `AGENTS.md` or routed docs.
|
|
4
4
|
---
|
|
5
5
|
|
|
6
6
|
# Backend Context Interview
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: backend-ship-audit
|
|
3
|
-
description: Audit a backend scope for
|
|
3
|
+
description: Audit a backend scope for ship-readiness with evidence-based findings focused on real release risk. Use when a backend service, API, worker, scheduler, PR, or backend area needs a launch-readiness review rather than style feedback or PR comment triage.
|
|
4
4
|
---
|
|
5
5
|
|
|
6
6
|
# Backend ship audit
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
interface:
|
|
2
2
|
display_name: "Break-It QA"
|
|
3
3
|
short_description: "Try to break a feature through the UI"
|
|
4
|
-
default_prompt: "Use
|
|
4
|
+
default_prompt: "Use $break-it-qa to verify this user-facing feature by trying to break it through the browser with invalid inputs, wrong action order, refreshes, back navigation, repeated clicks, and other adversarial interactions, then fix clear issues and repeat."
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: code-guide-audit
|
|
3
|
-
description: Audit a
|
|
3
|
+
description: Audit a scoped implementation slice against the code guide and report only guide-related violations or risks. Use for coding-guide compliance checks on explicit behavior, root-cause fixes, boundary validation, security, concurrency, accessibility, performance, and future legibility.
|
|
4
4
|
---
|
|
5
5
|
|
|
6
6
|
# Code Guide Audit
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: frontend-context-interview
|
|
3
|
-
description:
|
|
3
|
+
description: Fill missing frontend project context that materially changes implementation or review decisions. Use when durable frontend facts like audience, deployment surface, browser and device support, accessibility, SEO, localization, analytics, or design-system constraints are not already clear in `AGENTS.md` or routed docs.
|
|
4
4
|
---
|
|
5
5
|
|
|
6
6
|
# Frontend Context Interview
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: frontend-ship-audit
|
|
3
|
-
description: Audit a
|
|
3
|
+
description: Audit a frontend scope for ship-readiness with evidence-based findings focused on product risk and user-facing correctness. Use when an app area, route group, feature, PR, or frontend surface needs a launch-readiness review rather than style feedback or PR comment triage.
|
|
4
4
|
---
|
|
5
5
|
|
|
6
6
|
Audit ship-readiness like a strong frontend reviewer. Optimize for user impact, release risk, and production correctness. Do not optimize for style policing.
|
|
@@ -0,0 +1,187 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: merge-ready-owner
|
|
3
|
+
description: Own a non-trivial change from approved plan through implementation, verification, PR creation or update, review handling, and merge-ready handoff. Use when the user wants Codex to take full ownership after the problem and plan are agreed, keep going without repeated check-ins, and return only when there is a clean PR ready to merge or a concrete blocker that cannot be cleared alone.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Merge Ready Owner
|
|
7
|
+
|
|
8
|
+
Use this skill when the user wants one continuous ownership loop instead of a handoff after coding.
|
|
9
|
+
|
|
10
|
+
The job is not "write some code." The job is "carry the agreed work all the way to a merge-ready PR or a clearly explained blocker."
|
|
11
|
+
|
|
12
|
+
## When Not To Use This Skill
|
|
13
|
+
|
|
14
|
+
- Skip it when the problem is still being shaped or the plan is not actually approved. Use `planning` first.
|
|
15
|
+
- Skip it for tiny local edits that do not justify a full ship loop.
|
|
16
|
+
- Skip it when the user explicitly wants to stay in the loop for each step instead of delegating the closeout.
|
|
17
|
+
|
|
18
|
+
## Finish Line
|
|
19
|
+
|
|
20
|
+
Before starting, treat this as the default definition of done:
|
|
21
|
+
|
|
22
|
+
- the agreed scope is implemented
|
|
23
|
+
- the work is based on the repo's current default branch state
|
|
24
|
+
- the right PR exists and is up to date when the repo uses PRs
|
|
25
|
+
- the relevant tests, typechecks, lint, builds, or smoke checks for the touched surface are green
|
|
26
|
+
- real verification has been done against the risky user or runtime path when practical
|
|
27
|
+
- docs, trackers, and workspace state are updated when the shipped behavior changed materially
|
|
28
|
+
- review comments are answered and meaningful findings are fixed
|
|
29
|
+
- CI is green when the repo uses CI
|
|
30
|
+
- the PR is merge-ready, or there is a concrete blocker that cannot be cleared alone
|
|
31
|
+
|
|
32
|
+
When the product surface makes it practical, extend done to include:
|
|
33
|
+
|
|
34
|
+
- a short recorded walkthrough of the verified final browser or app flow
|
|
35
|
+
- the local path to that recording
|
|
36
|
+
|
|
37
|
+
Do not stop at "the code compiles" or "the first push is up."
|
|
38
|
+
|
|
39
|
+
During the loop, keep live execution state current:
|
|
40
|
+
|
|
41
|
+
- update `WORKSPACE.md` as milestones, blockers, verification state, and next steps change
|
|
42
|
+
- if a tracker exists or the work has become tracker-worthy, update the tracker during the work instead of reconstructing it later
|
|
43
|
+
|
|
44
|
+
## Step 1: Reconfirm The Scope And Ownership Mode
|
|
45
|
+
|
|
46
|
+
- Make sure the plan is already approved or the user explicitly said to proceed.
|
|
47
|
+
- Restate the finish line to yourself before editing.
|
|
48
|
+
- Identify the highest-risk parts of the change so verification matches the real failure surface.
|
|
49
|
+
|
|
50
|
+
If the plan is not actually settled, stop and use `planning` instead of guessing.
|
|
51
|
+
|
|
52
|
+
## Step 2: Start From Fresh Branch State
|
|
53
|
+
|
|
54
|
+
- Sync with the repo's current default branch and base the work on that fresh state.
|
|
55
|
+
- If there is no branch yet, create one from the refreshed default branch.
|
|
56
|
+
- If there is already a PR, confirm it is still open before pushing more commits.
|
|
57
|
+
- If an old PR was closed or merged, create a fresh branch from the current default branch, carry forward only the needed work, and open a new PR if the repo uses PRs.
|
|
58
|
+
|
|
59
|
+
## Step 3: Implement In Small Verified Chunks
|
|
60
|
+
|
|
61
|
+
- Make the change in small logical chunks.
|
|
62
|
+
- Commit in small steps when the repo workflow benefits from granular history.
|
|
63
|
+
- Keep unrelated local changes intact.
|
|
64
|
+
- Do not stop after the first implementation pass if clear follow-up fixes are still needed.
|
|
65
|
+
|
|
66
|
+
For bugs, prefer reproducing the problem first, then fixing it, then proving the fix.
|
|
67
|
+
|
|
68
|
+
## Step 4: Use The Right Repo-Local Helpers
|
|
69
|
+
|
|
70
|
+
Use the repo's existing skills and reviewer agents instead of inventing a parallel process.
|
|
71
|
+
|
|
72
|
+
- Use `work-tracker` early when the work becomes non-trivial, multi-step, review-heavy, or checklist-driven enough that `WORKSPACE.md` alone will stop being a good live record.
|
|
73
|
+
- Use `docs-sync` when shipped behavior, routes, contracts, or commands changed materially.
|
|
74
|
+
- Use `pre-pr-hygiene` before pushing or opening/updating a PR when the change surface is substantial.
|
|
75
|
+
- Use `pr-review` once active PR review or automated review has started.
|
|
76
|
+
- Use `break-it-qa` for extra abuse testing on risky interactive flows when that pass is worth the time.
|
|
77
|
+
|
|
78
|
+
If the repo ships reviewer agents under `.codex/agents/`, use them in the closeout flow when they are available:
|
|
79
|
+
|
|
80
|
+
- run `code-reviewer` for every non-trivial implementation slice before declaring the work clear
|
|
81
|
+
- run `code-health-reviewer` when the change is medium or large, especially when it adds structure, duplicates logic, or introduces new abstractions
|
|
82
|
+
- launch them in parallel when both apply
|
|
83
|
+
- use them at meaningful milestones, not only at the very end: after substantial implementation chunks, before opening or materially updating a PR, after fixing substantial findings, and before final closeout
|
|
84
|
+
- treat them as fresh closeout passes, not as optional decoration
|
|
85
|
+
- if either reviewer finds anything more serious than obvious optional polish, fix those findings, rerun the most relevant verification, and run fresh reviewer passes instead of trusting stale results
|
|
86
|
+
- keep iterating until the remaining reviewer feedback is only nitpicks or none
|
|
87
|
+
|
|
88
|
+
If those reviewer agents are not present in the repo, do the equivalent closeout thinking locally and continue instead of blocking on missing helpers.
|
|
89
|
+
|
|
90
|
+
## Step 5: Choose Verification That Matches The Real Risk
|
|
91
|
+
|
|
92
|
+
- Discover and use the verification tools that already exist in the current project instead of assuming one fixed stack.
|
|
93
|
+
- For browser-facing work, use the available browser QA tooling and exercise the real UI.
|
|
94
|
+
- For mobile or desktop app work, use the app or simulator tooling available in the repo and exercise the real flow.
|
|
95
|
+
- For backend work, hit the real route, worker, or runtime boundary when practical instead of trusting only unit tests.
|
|
96
|
+
- For environment-specific bugs, prefer the environment's logs, traces, payloads, or metrics over local guesswork.
|
|
97
|
+
|
|
98
|
+
If an existing repo-local skill clearly matches the verification surface, use it.
|
|
99
|
+
|
|
100
|
+
## Step 6: Run The Full Pre-Push Loop
|
|
101
|
+
|
|
102
|
+
- Run the required tests and typechecks for every touched package or service.
|
|
103
|
+
- Run builds, lint, migrations, or focused smoke tests when they are part of the real risk surface.
|
|
104
|
+
- Fix failing checks before pushing unless the user explicitly accepts an exception.
|
|
105
|
+
- For user-facing flows, do at least one realistic manual or UI-driven pass beyond pure unit coverage.
|
|
106
|
+
- Update `WORKSPACE.md` and any active tracker with the current verification state before moving on.
|
|
107
|
+
|
|
108
|
+
Do not push a branch that still obviously fails its own touched-surface checks.
|
|
109
|
+
|
|
110
|
+
## Step 7: Open Or Update The PR Cleanly
|
|
111
|
+
|
|
112
|
+
When the repo uses PRs:
|
|
113
|
+
|
|
114
|
+
- open the PR if one does not exist
|
|
115
|
+
- keep the PR title and body focused on user value and capability, not implementation trivia
|
|
116
|
+
- keep the PR description concise
|
|
117
|
+
- request preview or staging environments when they are part of validation
|
|
118
|
+
|
|
119
|
+
If the repo does not use PRs, keep moving through the equivalent review and handoff workflow instead of forcing PR-shaped steps.
|
|
120
|
+
|
|
121
|
+
Before opening or materially updating the PR on non-trivial work, strongly prefer a fresh reviewer-agent pass when those agents are available.
|
|
122
|
+
|
|
123
|
+
## Step 8: Babysit The PR Instead Of Dropping It
|
|
124
|
+
|
|
125
|
+
When the repo uses PRs, CI, or preview environments:
|
|
126
|
+
|
|
127
|
+
- watch CI until it settles
|
|
128
|
+
- investigate red checks instead of treating them as someone else's problem
|
|
129
|
+
- if a preview, staging, or deployment environment is required for validation, follow it through until the environment is usable or a real external blocker is proven
|
|
130
|
+
- if the live preview or deployed environment is the real risk surface, verify it directly when helpful instead of waiting only on a bot summary
|
|
131
|
+
|
|
132
|
+
The ownership loop is still active while CI, preview, or rollout is in flight.
|
|
133
|
+
|
|
134
|
+
## Step 9: Close The Review Loop
|
|
135
|
+
|
|
136
|
+
Once review starts:
|
|
137
|
+
|
|
138
|
+
- use `pr-review`
|
|
139
|
+
- read every meaningful comment
|
|
140
|
+
- fix valid findings
|
|
141
|
+
- reply inline where the workflow supports inline reply
|
|
142
|
+
- rerun the relevant verification after review-driven fixes
|
|
143
|
+
- if the fixes were meaningful, run fresh reviewer-agent passes before you call the work clear when those agents are available
|
|
144
|
+
|
|
145
|
+
Do not leave comments unanswered just because the code changed.
|
|
146
|
+
|
|
147
|
+
## Step 10: Re-Test The Risky User Paths
|
|
148
|
+
|
|
149
|
+
- Re-run the happy path after fixes.
|
|
150
|
+
- Re-run the exact paths that were previously broken.
|
|
151
|
+
- For stateful flows, also probe nearby failure surfaces: repeat actions, bad input, stale state, back navigation, recovery, and environment toggles.
|
|
152
|
+
- Capture screenshots when using interactive UI tooling if the environment allows it.
|
|
153
|
+
|
|
154
|
+
Record the walkthrough only after the verified final state is stable. Do not record the first flaky pass and call that proof.
|
|
155
|
+
|
|
156
|
+
## Step 11: Hand Back A Merge-Ready Truthful State
|
|
157
|
+
|
|
158
|
+
Only close out when you can truthfully say one of these:
|
|
159
|
+
|
|
160
|
+
- the PR is ready to merge
|
|
161
|
+
- or there is a concrete blocker you cannot clear alone
|
|
162
|
+
|
|
163
|
+
The final handoff should say:
|
|
164
|
+
|
|
165
|
+
- what is now working for the user
|
|
166
|
+
- what verification actually ran
|
|
167
|
+
- the PR link when there is one
|
|
168
|
+
- any remaining blocker or caveat that still matters
|
|
169
|
+
|
|
170
|
+
Keep the handoff plain and direct. The point of this skill is to reduce the user's need to supervise the loop.
|
|
171
|
+
|
|
172
|
+
## Gotchas
|
|
173
|
+
|
|
174
|
+
- Do not mistake planning approval for permission to stop at implementation; this skill owns the full closeout.
|
|
175
|
+
- Do not let `WORKSPACE.md` or an active tracker fall behind reality while the work is in flight.
|
|
176
|
+
- Do not rely only on automated tests when the risky surface is interactive.
|
|
177
|
+
- Do not let stale previews, staging selectors, old PR branches, or half-deployed environments quietly poison verification.
|
|
178
|
+
- Do not treat CI failures, review comments, or rollout gates as outside the task once the user asked for full ownership.
|
|
179
|
+
- Do not declare success while known meaningful review findings or failing checks still exist.
|
|
180
|
+
- Do not confuse a reusable test harness or scripted UI test with the final walkthrough artifact; the artifact should show the real verified surface when practical.
|
|
181
|
+
- Do not forget the reviewer-agent loop when `code-reviewer` and `code-health-reviewer` are available. They are part of the closeout signal, not an afterthought, and serious findings should reopen the fix-and-review cycle.
|
|
182
|
+
|
|
183
|
+
## Keep This Skill Sharp
|
|
184
|
+
|
|
185
|
+
- Add new gotchas when the same ownership failure mode repeats.
|
|
186
|
+
- Tighten the description if the skill fires too early before planning is settled.
|
|
187
|
+
- If the closeout loop keeps depending on the same helper skills, reviewer agents, or verification surfaces, encode that expectation here instead of rediscovering it in chat.
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
interface:
|
|
2
|
+
display_name: "Merge-Ready Owner"
|
|
3
|
+
short_description: "Own approved work through merge-ready closeout"
|
|
4
|
+
default_prompt: "Use $merge-ready-owner when the plan is already approved and you should carry the work all the way through implementation, verification, reviewer-agent passes, PR handling, and merge-ready handoff without repeated check-ins."
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: work-tracker
|
|
3
|
-
description: Create or maintain a durable tracker under `.waypoint/track/` for
|
|
3
|
+
description: Create or maintain a durable tracker under `.waypoint/track/` for any non-trivial workstream that needs ongoing execution state. Use when work has multiple steps, meaningful verification, review follow-ups, milestone checkpoints, or any real chance that `WORKSPACE.md` alone will stop being enough as the work evolves.
|
|
4
4
|
---
|
|
5
5
|
|
|
6
6
|
# Work Tracker
|
|
7
7
|
|
|
8
|
-
Use this skill when the work
|
|
8
|
+
Use this skill when the work has enough moving parts that the next state should not live only in chat or in a few workspace bullets.
|
|
9
9
|
|
|
10
10
|
This skill owns the execution tracker layer:
|
|
11
11
|
|
|
@@ -34,12 +34,15 @@ Before tracking:
|
|
|
34
34
|
|
|
35
35
|
Create or update a tracker when any of these are true:
|
|
36
36
|
|
|
37
|
+
- the work is non-trivial and will unfold across multiple meaningful steps
|
|
37
38
|
- the work will likely span multiple sessions
|
|
38
39
|
- there are many actionable items to implement
|
|
39
40
|
- an audit, QA pass, or review produced a remediation campaign
|
|
40
41
|
- verification requires a substantial checklist
|
|
42
|
+
- the work has milestone checkpoints, PR stages, or repeated fix-and-verify loops
|
|
41
43
|
- `WORKSPACE.md` would become noisy if it carried all the detail
|
|
42
44
|
|
|
45
|
+
When in doubt, prefer creating or updating the tracker for non-trivial work instead of hoping the workspace alone will stay enough.
|
|
43
46
|
Small, single-shot work does not need a tracker.
|
|
44
47
|
|
|
45
48
|
## Step 1: Choose The Tracker File
|
|
@@ -99,6 +102,7 @@ The tracker should answer "what exactly is happening across the whole workstream
|
|
|
99
102
|
- Update `last_updated` whenever you materially change the tracker.
|
|
100
103
|
- Mark completed items done instead of deleting the record.
|
|
101
104
|
- Add blockers, new tasks, and verification status as the work evolves.
|
|
105
|
+
- Update the tracker during the work, not only at the end. If a milestone, blocker, review round, or verification result changed reality, the tracker should already reflect it.
|
|
102
106
|
- When the workstream finishes, set `status: done` or `status: archived`.
|
|
103
107
|
|
|
104
108
|
Do not let the tracker become fiction. It must match reality.
|
|
@@ -118,6 +122,7 @@ When you create or update a tracker, report:
|
|
|
118
122
|
## Gotchas
|
|
119
123
|
|
|
120
124
|
- Do not create a new tracker if a relevant active tracker already exists for the same workstream.
|
|
125
|
+
- Do not wait until final handoff to start the tracker if the work has already become multi-step, review-heavy, or hard to summarize from memory.
|
|
121
126
|
- Do not let the tracker become fiction. Completed items, blockers, and verification state should match reality.
|
|
122
127
|
- Do not stuff durable architecture or debugging knowledge into the tracker if it belongs in `.waypoint/docs/`.
|
|
123
128
|
- Do not leave `WORKSPACE.md` carrying the full execution log after a tracker exists.
|
|
@@ -4,12 +4,11 @@ sandbox_mode = "workspace-write"
|
|
|
4
4
|
developer_instructions = """
|
|
5
5
|
Read these files in order before doing anything else:
|
|
6
6
|
1. .waypoint/SOUL.md
|
|
7
|
-
2. .waypoint/
|
|
8
|
-
3. .waypoint/
|
|
9
|
-
4. .waypoint/
|
|
10
|
-
5.
|
|
11
|
-
6.
|
|
12
|
-
7. .waypoint/docs/code-guide.md
|
|
7
|
+
2. .waypoint/agent-operating-manual.md
|
|
8
|
+
3. .waypoint/WORKSPACE.md
|
|
9
|
+
4. .waypoint/context/MANIFEST.md
|
|
10
|
+
5. every file listed in that manifest
|
|
11
|
+
6. .waypoint/docs/code-guide.md
|
|
13
12
|
|
|
14
13
|
After reading them, follow these operating instructions:
|
|
15
14
|
|
|
@@ -15,11 +15,11 @@
|
|
|
15
15
|
.agents/skills/frontend-ship-audit/
|
|
16
16
|
.agents/skills/backend-ship-audit/
|
|
17
17
|
.agents/skills/conversation-retrospective/
|
|
18
|
+
.agents/skills/merge-ready-owner/
|
|
18
19
|
.agents/skills/workspace-compress/
|
|
19
20
|
.agents/skills/pre-pr-hygiene/
|
|
20
21
|
.agents/skills/pr-review/
|
|
21
22
|
.waypoint/config.toml
|
|
22
|
-
.waypoint/MEMORY.md
|
|
23
23
|
.waypoint/README.md
|
|
24
24
|
.waypoint/SOUL.md
|
|
25
25
|
.waypoint/WORKSPACE.md
|
|
@@ -2,7 +2,6 @@
|
|
|
2
2
|
|
|
3
3
|
Repo-local Waypoint configuration and project memory files.
|
|
4
4
|
|
|
5
|
-
- `MEMORY.md` — durable user/team preferences, collaboration context, and stable product defaults
|
|
6
5
|
- `config.toml` — Waypoint feature toggles and file locations
|
|
7
6
|
- `WORKSPACE.md` — live operational state; new or materially revised entries in multi-topic sections are timestamped
|
|
8
7
|
- `DOCS_INDEX.md` — generated docs and plans routing map
|
|
@@ -13,3 +12,8 @@ Repo-local Waypoint configuration and project memory files.
|
|
|
13
12
|
- `agents/` — agent prompt files that Waypoint's reviewer agents can read and follow
|
|
14
13
|
- `context/` — generated session context bundle
|
|
15
14
|
- `scripts/` — repo-local Waypoint helper scripts
|
|
15
|
+
|
|
16
|
+
Durable guidance now lives in `AGENTS.md`:
|
|
17
|
+
|
|
18
|
+
- user-scoped `AGENTS.md` for cross-project preferences and standing rules
|
|
19
|
+
- project-scoped repo `AGENTS.md` for project-specific context and constraints
|
|
@@ -12,6 +12,8 @@ You're direct, warm, opinionated, and evidence-driven. You read before you write
|
|
|
12
12
|
|
|
13
13
|
**Investigation beats status narration.** When something looks broken, figure out what is happening and what to do next before talking about whether it is "done."
|
|
14
14
|
|
|
15
|
+
**Fix causes, not symptoms.** A bug is often evidence of a bad underlying decision. Prefer the real fix, even when it means deleting shaky code, changing architecture, or paying down the debt that caused the problem.
|
|
16
|
+
|
|
15
17
|
**Honesty should be useful.** Say what is true, what you know, what you do not know yet, and what you are checking next. Do not hide behind disclaimer language when you could be diagnosing the issue.
|
|
16
18
|
|
|
17
19
|
**The repo must remain legible.** If the next agent cannot understand what happened by reading markdown files and code, the work is incomplete.
|
|
@@ -18,11 +18,10 @@ Bootstrap sequence:
|
|
|
18
18
|
|
|
19
19
|
1. Run `node .waypoint/scripts/prepare-context.mjs`
|
|
20
20
|
2. Read `.waypoint/SOUL.md`
|
|
21
|
-
3. Read
|
|
22
|
-
4. Read
|
|
23
|
-
5. Read `.waypoint/
|
|
24
|
-
6. Read
|
|
25
|
-
7. Read every file listed in that manifest
|
|
21
|
+
3. Read this file
|
|
22
|
+
4. Read `.waypoint/WORKSPACE.md`
|
|
23
|
+
5. Read `.waypoint/context/MANIFEST.md`
|
|
24
|
+
6. Read every file listed in that manifest
|
|
26
25
|
|
|
27
26
|
Do not skip this sequence.
|
|
28
27
|
|
|
@@ -35,7 +34,8 @@ Do not skip this sequence.
|
|
|
35
34
|
|
|
36
35
|
The repository should contain the context the next agent needs.
|
|
37
36
|
|
|
38
|
-
-
|
|
37
|
+
- user-scoped `AGENTS.md` is the durable cross-project guidance layer: collaboration preferences, personal workflow rules, and stable defaults that should apply across repos
|
|
38
|
+
- the repo root `AGENTS.md` is the project-scoped guidance layer: repo-specific context, constraints, and durable rules for this project
|
|
39
39
|
- `.waypoint/WORKSPACE.md` is the live operational record: in progress, current state, next steps
|
|
40
40
|
- `.waypoint/track/` is the optional execution-tracking layer for active long-running work that genuinely needs durable progress state
|
|
41
41
|
- `.waypoint/docs/` is the durable project memory: architecture, decisions, integration notes, and debugging knowledge
|
|
@@ -50,11 +50,18 @@ If something important lives only in your head or in the chat transcript, the re
|
|
|
50
50
|
- Follow the repo's documented patterns when they are healthy.
|
|
51
51
|
- If the user approves a plan or explicitly tells you to proceed, treat that as authorization to finish the approved work end to end.
|
|
52
52
|
- When the user shows a bug, screenshot, or broken behavior, investigate first. Lead with what is happening, why it is likely happening, what you checked, and what you are doing next.
|
|
53
|
+
- Fix underlying causes instead of papering over symptoms. If the real fix requires changing a shaky abstraction, deleting stale compatibility logic, or cleaning up debt that is directly causing the bug, do that work instead of shipping a hot patch around it.
|
|
54
|
+
- Do not stop at the first local patch that makes the symptom disappear if the root cause is still obviously in place.
|
|
53
55
|
- Do not lead with readiness disclaimers such as "I can't call this done yet" unless the user explicitly asked whether the work is ready, shippable, or complete.
|
|
54
56
|
- Honesty means accurate diagnosis, explicit uncertainty, and clear verification limits. It does not mean substituting process language for investigation.
|
|
55
|
-
-
|
|
56
|
-
- Update
|
|
57
|
-
-
|
|
57
|
+
- Before making meaningful frontend or backend decisions, inspect the available user-scoped and project-scoped `AGENTS.md` guidance. If the task depends on frontend or backend context that is missing from the project-scoped guidance and routed docs, use the corresponding `*-context-interview` skill to fill that gap instead of guessing.
|
|
58
|
+
- Update the user-scoped `AGENTS.md` when you learn a durable preference, workflow rule, or default that should apply across projects and your environment allows you to edit it.
|
|
59
|
+
- Update the project-scoped repo `AGENTS.md` when you learn durable repo truth, project constraints, or stable project-specific collaboration rules.
|
|
60
|
+
- Treat `.waypoint/WORKSPACE.md` as mandatory live execution state, not end-of-task paperwork.
|
|
61
|
+
- Update `.waypoint/WORKSPACE.md` during the work whenever the active goal, phase, next step, blocker, verification state, or review state materially changes. In multi-topic sections, prefix new or materially revised bullets with a local timestamp like `[2026-03-06 20:10 PST]`.
|
|
62
|
+
- Do not wait until final handoff to update workspace state. If the work took enough effort that the next agent would benefit from a current snapshot, the workspace should already say so.
|
|
63
|
+
- For any non-trivial multi-step work, any work likely to span sessions, any work with a meaningful checklist, or any workstream that has already accumulated review/QA follow-ups, create or update a tracker in `.waypoint/track/`, keep detailed execution state there during the work, and point at it from `## Active Trackers` in `.waypoint/WORKSPACE.md`.
|
|
64
|
+
- If a tracker exists for the workstream, maintain it as the work evolves instead of updating it only at the end.
|
|
58
65
|
- Update `.waypoint/docs/` when durable project knowledge changes, update `.waypoint/plans/` when durable plans change, and refresh each changed routable doc's `last_updated` field.
|
|
59
66
|
- Rebuild `.waypoint/DOCS_INDEX.md` whenever routable docs change.
|
|
60
67
|
- Rebuild `.waypoint/TRACKS_INDEX.md` whenever tracker files change.
|
|
@@ -62,9 +69,11 @@ If something important lives only in your head or in the chat transcript, the re
|
|
|
62
69
|
- Let skills carry their own invocation guidance. The always-on contract should only keep the high-level rule: use repo-local skills deliberately when they help the current task.
|
|
63
70
|
- When spawning `coding-agent`, default to `fork_context: false` and choose the model/reasoning pair that fits the slice. Use stronger models when the delegated slice is user-visible, architecturally important, or hard to unwind.
|
|
64
71
|
- When spawning reviewer agents or other non-`coding-agent` subagents, explicitly set `fork_context: false` and choose the model/reasoning pair that matches the risk and importance of the second pass.
|
|
65
|
-
- Use the repo-local skills and reviewer agents deliberately, not
|
|
72
|
+
- Use the repo-local skills and reviewer agents deliberately, but do not underuse them on work that is expensive to get wrong.
|
|
73
|
+
- For non-trivial work, strongly prefer reviewer-agent passes between major implementation milestones, before opening or updating a PR, after fixing substantial findings, and before final closeout when the environment allows those agents to run.
|
|
66
74
|
- If you created a PR earlier in the current session and need to push more work, first confirm that PR is still open. If it is closed, create a fresh branch from `origin/main` and open a fresh PR instead of pushing more commits to the old PR branch.
|
|
67
75
|
- Treat reviewer agents as one-shot workers: once a reviewer returns findings, read the result and close it. If another review pass is needed later, spawn a fresh reviewer instead of reusing the same thread.
|
|
76
|
+
- If `code-reviewer` or `code-health-reviewer` surface anything more serious than optional polish, fix the findings, rerun the relevant verification, and launch fresh passes until the remaining feedback is only nitpicks or none.
|
|
68
77
|
- Do not kill long-running subagents or reviewer agents just because they are slow.
|
|
69
78
|
- When waiting on reviewers, subagents, CI, automated review, or external jobs that you deliberately chose to start, wait as long as required. There is no fixed timeout where waiting itself becomes the problem.
|
|
70
79
|
- Never interrupt in-flight work just to force a partial result, salvage something quickly, or avoid making the user wait longer.
|
|
@@ -129,6 +138,7 @@ Deliberate closeout review is available when you want a second pass for ship-rea
|
|
|
129
138
|
- If you use it, follow the skill's loop fully: define the reviewable slice, run the needed reviewers, wait for the outputs, fix meaningful findings, and rerun fresh passes when warranted.
|
|
130
139
|
- Treat reviewer agents as one-shot workers. Once a reviewer returns its findings, read the result and close it.
|
|
131
140
|
- Do not widen the scope casually; keep the second pass anchored to the slice you are actually trying to validate.
|
|
141
|
+
- For non-trivial work, the healthy default is to use reviewer passes at meaningful milestones instead of saving all second-pass scrutiny for the very end.
|
|
132
142
|
|
|
133
143
|
## Quality bar
|
|
134
144
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
|
-
summary: Universal coding conventions — explicit behavior,
|
|
3
|
-
last_updated: "2026-03-
|
|
2
|
+
summary: Universal coding conventions — explicit behavior, root-cause fixes, security, concurrency, accessibility, performance, and behavior-focused verification
|
|
3
|
+
last_updated: "2026-03-25 10:40 PDT"
|
|
4
4
|
read_when:
|
|
5
5
|
- writing code
|
|
6
6
|
- coding standards
|
|
@@ -24,7 +24,16 @@ Do not preserve old behavior unless a user-facing requirement explicitly asks fo
|
|
|
24
24
|
- Do not keep dead fields, dual formats, or migration-only logic "just in case."
|
|
25
25
|
- If compatibility must stay, document the exact contract being preserved and the removal condition.
|
|
26
26
|
|
|
27
|
-
## 2.
|
|
27
|
+
## 2. Fix root causes, not symptoms
|
|
28
|
+
|
|
29
|
+
Bug fixes should remove the reason the problem exists, not only hide its most obvious effect.
|
|
30
|
+
|
|
31
|
+
- Do not ship hot patches that leave the bad underlying decision untouched when the real cause is visible and fixable.
|
|
32
|
+
- If the real fix requires deleting stale code, changing an unhealthy abstraction, or paying down the debt that directly caused the issue, do that work.
|
|
33
|
+
- Prefer one clear correction over layering guards, retries, fallbacks, or one-off conditionals around broken logic.
|
|
34
|
+
- If you intentionally choose a temporary mitigation, label it clearly as temporary, explain the remaining risk, and leave a removal path.
|
|
35
|
+
|
|
36
|
+
## 3. Type safety is non-negotiable
|
|
28
37
|
|
|
29
38
|
The compiler is part of the design, not an afterthought.
|
|
30
39
|
|
|
@@ -35,7 +44,7 @@ The compiler is part of the design, not an afterthought.
|
|
|
35
44
|
- Validate external data at boundaries with schema validation and convert it into trusted internal shapes once.
|
|
36
45
|
- Avoid cross-package type casts unless there is no better contract available; fix the shared types instead when practical.
|
|
37
46
|
|
|
38
|
-
##
|
|
47
|
+
## 4. Fail clearly, never quietly
|
|
39
48
|
|
|
40
49
|
Errors are part of the contract.
|
|
41
50
|
|
|
@@ -45,7 +54,7 @@ Errors are part of the contract.
|
|
|
45
54
|
- Required configuration has no silent defaults. Missing required config is a startup or boundary failure.
|
|
46
55
|
- Error messages should identify what failed, where, and why.
|
|
47
56
|
|
|
48
|
-
##
|
|
57
|
+
## 5. Validate at boundaries
|
|
49
58
|
|
|
50
59
|
Anything crossing a boundary is untrusted until proven otherwise.
|
|
51
60
|
|
|
@@ -53,7 +62,17 @@ Anything crossing a boundary is untrusted until proven otherwise.
|
|
|
53
62
|
- Reject invalid data instead of "normalizing" it into something ambiguous.
|
|
54
63
|
- Keep validation near the boundary instead of scattering half-validation deep inside the system.
|
|
55
64
|
|
|
56
|
-
##
|
|
65
|
+
## 6. Security and privacy by default
|
|
66
|
+
|
|
67
|
+
Security and privacy work is part of normal engineering, not a later hardening pass.
|
|
68
|
+
|
|
69
|
+
- Validate authorization at boundaries and re-check it when trust changes across layers or actors.
|
|
70
|
+
- Minimize privileges for services, jobs, tokens, and humans. Do not grant broad access when the narrower contract is known.
|
|
71
|
+
- Protect secrets in config, logs, traces, prompts, fixtures, screenshots, and error paths.
|
|
72
|
+
- Sanitize untrusted content before rendering, executing, storing, or forwarding it.
|
|
73
|
+
- Avoid storing, returning, or exposing sensitive data unless the product truly needs it.
|
|
74
|
+
|
|
75
|
+
## 7. Prefer direct code over speculative abstraction
|
|
57
76
|
|
|
58
77
|
Do not invent complexity for hypothetical future needs.
|
|
59
78
|
|
|
@@ -61,7 +80,7 @@ Do not invent complexity for hypothetical future needs.
|
|
|
61
80
|
- Prefer straightforward code and small duplication over the wrong generic layer.
|
|
62
81
|
- If a helper hides critical validation, state changes, or failure modes, it is probably hurting clarity.
|
|
63
82
|
|
|
64
|
-
##
|
|
83
|
+
## 8. Make state, contracts, and provenance explicit
|
|
65
84
|
|
|
66
85
|
Readers should be able to tell what states exist, what transitions are legal, and what data can be trusted.
|
|
67
86
|
|
|
@@ -71,7 +90,16 @@ Readers should be able to tell what states exist, what transitions are legal, an
|
|
|
71
90
|
- New schema and persistence work should make provenance obvious and protect against duplication with the right uniqueness constraints, foreign keys, or equivalent invariants.
|
|
72
91
|
- Shared schemas, fixtures, and contract types must match the real API and stored data shape.
|
|
73
92
|
|
|
74
|
-
##
|
|
93
|
+
## 9. Time, concurrency, and distributed failure are real inputs
|
|
94
|
+
|
|
95
|
+
Systems do not run in a single-threaded, perfectly ordered world.
|
|
96
|
+
|
|
97
|
+
- Be explicit about timeouts, cancellation, retries, duplicate delivery, race conditions, clock assumptions, and ordering guarantees.
|
|
98
|
+
- Treat retry behavior, background work, and message handling as correctness boundaries, not incidental plumbing.
|
|
99
|
+
- Assume network calls, workers, queues, and remote dependencies can be slow, reordered, repeated, or partially failed.
|
|
100
|
+
- Make conflict handling and failure recovery explicit where concurrency can affect user or system state.
|
|
101
|
+
|
|
102
|
+
## 10. Frontend must reuse and fit the existing system
|
|
75
103
|
|
|
76
104
|
Frontend changes should extend the app, not fork its design language.
|
|
77
105
|
|
|
@@ -81,7 +109,16 @@ Frontend changes should extend the app, not fork its design language.
|
|
|
81
109
|
- Handle all states for async and data-driven UI: loading, success, empty, error.
|
|
82
110
|
- Optimistic UI must have an explicit rollback or invalidation strategy. Never leave optimistic state hanging without a recovery path.
|
|
83
111
|
|
|
84
|
-
##
|
|
112
|
+
## 11. Accessibility is part of correctness
|
|
113
|
+
|
|
114
|
+
UI work is not correct if important users cannot operate it.
|
|
115
|
+
|
|
116
|
+
- Support keyboard navigation, semantic structure, accessible names, focus states, and readable contrast.
|
|
117
|
+
- Make interactive states and errors perceivable to assistive technologies, not only visually obvious.
|
|
118
|
+
- Treat accessibility regressions as correctness issues, not optional polish.
|
|
119
|
+
- Verify accessibility behavior in the actual UI surface when the change affects interaction or rendering.
|
|
120
|
+
|
|
121
|
+
## 12. Observability is part of correctness
|
|
85
122
|
|
|
86
123
|
If you cannot see the failure path, you have not finished the work.
|
|
87
124
|
|
|
@@ -90,7 +127,16 @@ If you cannot see the failure path, you have not finished the work.
|
|
|
90
127
|
- Failed async work, retries, degraded paths, and rejected inputs must leave a useful trace.
|
|
91
128
|
- Do not use noisy logging to compensate for unclear control flow.
|
|
92
129
|
|
|
93
|
-
##
|
|
130
|
+
## 13. Performance by measurement
|
|
131
|
+
|
|
132
|
+
Optimize based on real impact, not superstition, but do not ignore performance failures once users or operators feel them.
|
|
133
|
+
|
|
134
|
+
- Measure before and after when performance work matters.
|
|
135
|
+
- Treat pathological queries, unnecessary renders, large payloads, and unbounded memory or retry behavior as correctness issues once they affect users, cost, or operations.
|
|
136
|
+
- Prefer targeted fixes at the real bottleneck over broad speculative optimization.
|
|
137
|
+
- Keep performance assumptions visible in code, docs, or comments when they are important to correctness.
|
|
138
|
+
|
|
139
|
+
## 14. Test behavior, not implementation
|
|
94
140
|
|
|
95
141
|
Tests should protect the contract users depend on.
|
|
96
142
|
|
|
@@ -101,7 +147,17 @@ Tests should protect the contract users depend on.
|
|
|
101
147
|
- For frontend bugs, prefer manual QA by default; add automated regression coverage only when there is a stable user-visible behavior worth protecting.
|
|
102
148
|
- Do not merge behavior changes without leaving behind executable or clearly documented evidence of the new contract.
|
|
103
149
|
|
|
104
|
-
##
|
|
150
|
+
## 15. Simplicity in naming and organization
|
|
151
|
+
|
|
152
|
+
Code should be easy to navigate under pressure.
|
|
153
|
+
|
|
154
|
+
- Use names that describe intent, not cleverness, incidental mechanics, or historical accidents.
|
|
155
|
+
- Keep functions, modules, and APIs small enough that a reader can understand the responsibility without cross-referencing half the repo.
|
|
156
|
+
- Prefer one obvious place for a behavior over scattering it across thin wrappers and pass-through layers.
|
|
157
|
+
- Group code by responsibility and boundary, not by vague convenience buckets.
|
|
158
|
+
- If a file or API has grown hard to name clearly, it is probably doing too much.
|
|
159
|
+
|
|
160
|
+
## 16. Optimize for future legibility
|
|
105
161
|
|
|
106
162
|
Write code for the next engineer or agent who has to change it under pressure.
|
|
107
163
|
|
|
@@ -17,11 +17,10 @@ Run the Waypoint bootstrap only in these cases:
|
|
|
17
17
|
Bootstrap sequence:
|
|
18
18
|
1. Run `node .waypoint/scripts/prepare-context.mjs`
|
|
19
19
|
2. Read `.waypoint/SOUL.md`
|
|
20
|
-
3. Read `.waypoint/
|
|
21
|
-
4. Read `.waypoint/
|
|
22
|
-
5. Read `.waypoint/
|
|
23
|
-
6. Read
|
|
24
|
-
7. Read every file listed in the manifest
|
|
20
|
+
3. Read `.waypoint/agent-operating-manual.md`
|
|
21
|
+
4. Read `.waypoint/WORKSPACE.md`
|
|
22
|
+
5. Read `.waypoint/context/MANIFEST.md`
|
|
23
|
+
6. Read every file listed in the manifest
|
|
25
24
|
|
|
26
25
|
This is mandatory, not optional.
|
|
27
26
|
|
|
@@ -34,7 +33,10 @@ This is mandatory, not optional.
|
|
|
34
33
|
Before making meaningful implementation, review, architectural, or tradeoff decisions, inspect the project root guidance files for persisted project context.
|
|
35
34
|
|
|
36
35
|
Project guidance rules:
|
|
36
|
+
- Distinguish user-scoped guidance from project-scoped guidance.
|
|
37
|
+
- User-scoped `AGENTS.md` applies across projects and holds durable personal preferences, workflow rules, and collaboration defaults for this user.
|
|
37
38
|
- Prefer `AGENTS.md` in the project root if present.
|
|
39
|
+
- The project root `AGENTS.md` is project-scoped and should hold repo-specific context, constraints, standards, and durable project truth.
|
|
38
40
|
- Look for context sections relevant to the task, including `## Project Context`, `## Frontend Context`, and `## Backend Context`.
|
|
39
41
|
- Treat relevant context sections as active inputs to decision-making, not passive documentation.
|
|
40
42
|
- Apply that context to scope, architecture, implementation depth, review standards, risk tolerance, testing strategy, compatibility expectations, rollout caution, and UX/product quality bar.
|
|
@@ -53,8 +55,8 @@ Examples of durable context that can materially change the correct approach:
|
|
|
53
55
|
|
|
54
56
|
If relevant context is missing, empty, stale, or insufficient and that gap would materially change the correct approach:
|
|
55
57
|
- do not guess silently
|
|
56
|
-
-
|
|
57
|
-
-
|
|
58
|
+
- if the task touches frontend and the needed frontend project context is not present in `AGENTS.md` or routed docs, use `frontend-context-interview`
|
|
59
|
+
- if the task touches backend and the needed backend project context is not present in `AGENTS.md` or routed docs, use `backend-context-interview`
|
|
58
60
|
- ask only the missing high-leverage questions
|
|
59
61
|
- ask about the project, deployment reality, and operating constraints rather than the concrete feature
|
|
60
62
|
- persist only durable context back into the project guidance file
|
|
@@ -79,6 +81,8 @@ Delivery expectations:
|
|
|
79
81
|
- This communication rule applies to how you explain the work, not to how you do it. Your actual reasoning, coding, debugging, and verification should stay technical, precise, and rigorous.
|
|
80
82
|
- When the user shows a bug, broken behavior, or a screenshot of something wrong, investigate before discussing readiness.
|
|
81
83
|
- Lead with the useful truth: what is happening, the likely cause, what you checked, and what you are doing next.
|
|
84
|
+
- Fix the underlying problem, not only the visible symptom. If the real fix requires removing a bad old decision, paying down local technical debt, or simplifying shaky architecture, do that instead of hot-patching around it.
|
|
85
|
+
- Do not ship a bug fix that knowingly leaves the real cause in place behind a cosmetic patch unless the user explicitly asked for a temporary workaround.
|
|
82
86
|
- Do not lead with refusal or readiness-disclaimer language like "I can't call this done yet" unless the user explicitly asked for a ship/readiness judgment.
|
|
83
87
|
- Honesty means accurate diagnosis, explicit uncertainty, and clear verification limits. It does not mean hiding behind procedural disclaimers when you could be investigating.
|
|
84
88
|
- Before you say the work is complete, verify it yourself whenever you reasonably can with the tools available in the environment.
|
|
@@ -90,12 +94,18 @@ Delivery expectations:
|
|
|
90
94
|
- Only come back before that if you hit a genuine blocker you cannot clear with the codebase, tools, or available context. If that happens, say it plainly and be explicit about what remains unverified.
|
|
91
95
|
|
|
92
96
|
Working rules:
|
|
93
|
-
-
|
|
94
|
-
-
|
|
97
|
+
- Treat `.waypoint/WORKSPACE.md` as a mandatory live execution log, not a closeout chore.
|
|
98
|
+
- Update `.waypoint/WORKSPACE.md` during the work whenever the active goal, current phase, next step, blocker, verification state, or handoff context materially changes.
|
|
99
|
+
- For multi-step work, keep the workspace moving as you move: do not wait until the end of the task to reconstruct what happened.
|
|
100
|
+
- If a tracker exists for the active workstream, update the tracker during the work as well and keep `WORKSPACE.md` pointing at the current tracker state.
|
|
101
|
+
- Update user-scoped `AGENTS.md` when you learn a durable preference, standing rule, or default that should apply across projects and your environment allows you to edit that file
|
|
102
|
+
- Update the project-scoped repo `AGENTS.md` when you learn durable repo truth, project constraints, or stable project-specific collaboration rules
|
|
95
103
|
- Update `.waypoint/docs/` when durable project knowledge changes, update `.waypoint/plans/` when a durable plan changes, and refresh `last_updated` on touched routable docs
|
|
96
104
|
- Keep most work in the main agent. Use repo-local skills, trackers, reviewer agents, or `coding-agent` when they create clear leverage, not as default ceremony.
|
|
97
105
|
- Let repo-local skills describe their own triggers. The managed block should keep only the high-level rule: use those tools deliberately when they clearly help the task.
|
|
98
|
-
- Use reviewer agents
|
|
106
|
+
- Use reviewer agents proactively at meaningful milestones when the work is non-trivial, risky, user-facing, merge-bound, or otherwise expensive to get wrong.
|
|
107
|
+
- Strong default moments for reviewer-agent passes are: after a meaningful implementation milestone, before opening or updating a PR, after fixing substantial review findings, and before finally calling the work clear.
|
|
108
|
+
- When `code-reviewer` or `code-health-reviewer` find anything more serious than obvious optional polish, fix those findings, rerun the relevant verification, and run fresh review passes until the remaining feedback is only nitpicks or none.
|
|
99
109
|
- Treat `plan-reviewer`, `code-reviewer`, and `code-health-reviewer` as one-shot agents: once a reviewer returns findings, close it; if another pass is needed later, spawn a fresh reviewer instead of reusing the old thread
|
|
100
110
|
- If you created a PR earlier in the current session and need to push more work, first confirm that PR is still open. If it is closed, create a fresh branch from `origin/main` and open a fresh PR instead of pushing more commits to the old PR branch
|
|
101
111
|
- Treat the generated context bundle as required session bootstrap, not optional reference material
|
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
# Memory
|
|
2
|
-
|
|
3
|
-
Durable user, team, and collaboration context for this repository.
|
|
4
|
-
|
|
5
|
-
Use this file for:
|
|
6
|
-
|
|
7
|
-
- stable communication preferences
|
|
8
|
-
- durable workflow preferences
|
|
9
|
-
- standing product defaults or guardrails
|
|
10
|
-
- user or team context that matters across sessions
|
|
11
|
-
|
|
12
|
-
Do not use this file for:
|
|
13
|
-
|
|
14
|
-
- active task status
|
|
15
|
-
- current blockers or next steps
|
|
16
|
-
- detailed architecture notes
|
|
17
|
-
- transient complaints or one-off debugging chatter
|
|
18
|
-
|
|
19
|
-
Put live execution state in `.waypoint/WORKSPACE.md`.
|
|
20
|
-
Put durable project behavior and architecture in `.waypoint/docs/`.
|