waypoint-codex 0.19.1 → 0.20.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/package.json +1 -1
- package/templates/.agents/skills/planning/SKILL.md +10 -0
- package/templates/.agents/skills/work-tracker/SKILL.md +4 -2
- package/templates/.waypoint/agent-operating-manual.md +66 -128
- package/templates/.waypoint/docs/code-guide.md +1 -0
- package/templates/managed-agents-block.md +10 -99
package/package.json
CHANGED
|
@@ -102,12 +102,16 @@ Do not plan from abstractions alone. Ground major decisions in actual files.
|
|
|
102
102
|
Plans document your understanding. Include what matters for this task:
|
|
103
103
|
|
|
104
104
|
- **Current State**: What exists today — relevant files, data flows, constraints, existing patterns
|
|
105
|
+
- **Legacy seam inventory**: Every read path, write path, sync or worker path, route contract, frontend consumer, event payload, fixture, and test surface that still depends on the legacy shape
|
|
105
106
|
- **Changes**: Every file to create/modify/delete, how changes connect
|
|
107
|
+
- **Removals**: What obsolete code, compatibility logic, unused files, debug logs, dead props, or stale branches will be deleted as part of the change
|
|
106
108
|
- **Decisions**: Why this approach, tradeoffs, assumptions
|
|
107
109
|
- **Phase breakdown**: Distinct execution phases in the order they should happen
|
|
108
110
|
- **Scope checklist**: Concrete implementation items that can be marked done or not done
|
|
109
111
|
- **Acceptance criteria**: What must be true when each phase is "done"
|
|
110
112
|
- **Phase checkpoints**: What verification, reviewer passes, tests, typechecks, builds, or manual QA must pass before moving to the next phase
|
|
113
|
+
- **Grep gates**: Exact searches that must return clean before a phase is review-ready or complete
|
|
114
|
+
- **Cleanup expectations**: What legacy or replaced paths must be removed before the work can be called complete
|
|
111
115
|
- **Test cases**: For behavioral changes, include input -> expected output examples
|
|
112
116
|
- **Non-Goals**: Explicitly out of scope to prevent implementation drift
|
|
113
117
|
|
|
@@ -132,6 +136,9 @@ Before presenting the plan, verify against real code:
|
|
|
132
136
|
- No pretending you verified something you didn't
|
|
133
137
|
- Approved scope must be explicit enough to act as an execution contract after user approval
|
|
134
138
|
- The plan must be explicit enough to support phase-by-phase execution and checkpoints without rediscovering the intended order in chat
|
|
139
|
+
- Migration and refactor plans should include a legacy seam inventory before implementation starts
|
|
140
|
+
- Migration and refactor phases should include exact grep gates for the legacy symbols being removed
|
|
141
|
+
- Refactor and replacement plans should explicitly call out what legacy or obsolete code will be removed instead of preserving it by default
|
|
135
142
|
- If the user approves the plan, do not silently defer or drop checklist items later; discuss any proposed scope change first
|
|
136
143
|
|
|
137
144
|
If the change touches durable project behavior, include docs/workspace updates in the plan.
|
|
@@ -175,6 +182,9 @@ If the plan would make the implementer ask "where does this hook in?" or "what e
|
|
|
175
182
|
- Do not spend interview turns on implementation facts that are already in the code or routed docs.
|
|
176
183
|
- Do not stop exploring just because you have a plausible plan. The usual failure mode is shallow repo understanding.
|
|
177
184
|
- Do not leave unresolved architecture or product decisions hidden behind "we can figure that out during implementation."
|
|
185
|
+
- Do not plan a refactor as a rewrite-plus-compatibility-preservation bundle unless compatibility is explicitly required. Call out what should be deleted.
|
|
186
|
+
- Do not skip the legacy seam inventory for migrations or refactors and then rediscover dependencies one tiny edit at a time during implementation.
|
|
187
|
+
- Do not leave grep gates implicit. Name the exact legacy symbols or shapes that must be gone before the phase can move forward.
|
|
178
188
|
- Do not dump a transcript into the plan doc. Distill the decisions and requirements into a clean implementation handoff.
|
|
179
189
|
- Do not treat a reviewed plan as a stopping point. Once the user approves it, the workflow expects execution to continue.
|
|
180
190
|
|
|
@@ -85,7 +85,9 @@ A good tracker usually includes:
|
|
|
85
85
|
- `Current State`
|
|
86
86
|
- `Next`
|
|
87
87
|
- `Workstreams`
|
|
88
|
+
- `Legacy Seam Inventory` when the work is a migration or refactor
|
|
88
89
|
- `Phase Checkpoints`
|
|
90
|
+
- `Grep Gates` when legacy symbols must be driven to zero by phase
|
|
89
91
|
- `Verification`
|
|
90
92
|
- `Decisions`
|
|
91
93
|
- `Notes`
|
|
@@ -105,8 +107,8 @@ The tracker should answer "what exactly is happening across the whole workstream
|
|
|
105
107
|
|
|
106
108
|
- Update `last_updated` whenever you materially change the tracker.
|
|
107
109
|
- Keep task lists or status entries current instead of deleting history. Mark completed checkbox items as `- [x]`, and update status-style entries when the phase or state changes.
|
|
108
|
-
- Add blockers, new tasks, and
|
|
109
|
-
- 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.
|
|
110
|
+
- Add blockers, new tasks, verification status, and grep-gate status as the work evolves.
|
|
111
|
+
- Update the tracker during the work, not only at the end. If a milestone, blocker, inventory discovery, review round, grep gate, or verification result changed reality, the tracker should already reflect it.
|
|
110
112
|
- When the workstream finishes, set `status: done` or `status: archived`.
|
|
111
113
|
|
|
112
114
|
Do not let the tracker become fiction. It must match reality.
|
|
@@ -2,19 +2,14 @@
|
|
|
2
2
|
|
|
3
3
|
This repository uses Waypoint as its operating system for Codex.
|
|
4
4
|
|
|
5
|
+
These instructions are mandatory in this repo and override weaker generic guidance unless the user says otherwise.
|
|
6
|
+
|
|
5
7
|
If the repo needs custom AGENTS guidance, write it outside the managed `waypoint:start/end` block in `AGENTS.md`. Treat the managed block as Waypoint-owned and replaceable.
|
|
6
|
-
|
|
7
|
-
If a higher-priority instruction conflicts with Waypoint workflow, do not silently ignore the repo rule or pretend it happened anyway. State the conflict plainly, explain the practical consequence, and ask the user for the missing authorization or use a compliant fallback path.
|
|
8
|
+
If a higher-priority instruction conflicts with Waypoint workflow, do not pretend the repo rule happened anyway. State the conflict plainly, explain the consequence, and ask the user for direction when needed.
|
|
8
9
|
|
|
9
10
|
## Session start
|
|
10
11
|
|
|
11
|
-
Run the Waypoint bootstrap only:
|
|
12
|
-
|
|
13
|
-
- at the start of every new session
|
|
14
|
-
- immediately after a compaction
|
|
15
|
-
- when the user explicitly asks for a rerun
|
|
16
|
-
|
|
17
|
-
Bootstrap sequence:
|
|
12
|
+
Run the Waypoint bootstrap only at session start, after compaction, or when the user explicitly asks for it:
|
|
18
13
|
|
|
19
14
|
1. Run `node .waypoint/scripts/prepare-context.mjs`
|
|
20
15
|
2. Read `.waypoint/SOUL.md`
|
|
@@ -24,148 +19,91 @@ Bootstrap sequence:
|
|
|
24
19
|
6. Read `.waypoint/context/MANIFEST.md`
|
|
25
20
|
7. Read every file listed in that manifest
|
|
26
21
|
|
|
27
|
-
Do not skip this sequence.
|
|
28
|
-
|
|
29
|
-
- Do not skip it at new-session start or after compaction.
|
|
30
|
-
- Do not rerun it mid-conversation just because a task becomes more substantial.
|
|
31
|
-
- Earlier chat context or partial memory from the current session does not count as a substitute when a new session starts or a compaction happens.
|
|
32
|
-
- If you are unsure whether a new session started or a compaction happened, rerun it instead of guessing.
|
|
33
|
-
|
|
34
22
|
## Repository memory model
|
|
35
23
|
|
|
36
24
|
The repository should contain the context the next agent needs.
|
|
37
25
|
|
|
38
|
-
- user-scoped `AGENTS.md`
|
|
39
|
-
- the repo root `AGENTS.md`
|
|
40
|
-
- `.waypoint/WORKSPACE.md`
|
|
41
|
-
- `.waypoint/ACTIVE_PLANS.md`
|
|
42
|
-
- `.waypoint/track/`
|
|
43
|
-
- `.waypoint/docs/`
|
|
44
|
-
- `.waypoint/plans/`
|
|
45
|
-
- `.waypoint/context/`
|
|
46
|
-
|
|
47
|
-
If something important lives only in your head or in the chat transcript, the repo is under-documented.
|
|
48
|
-
|
|
49
|
-
## Working rules
|
|
50
|
-
|
|
51
|
-
- Read code before editing it.
|
|
52
|
-
- Follow the repo's documented patterns when they are healthy.
|
|
53
|
-
- If the user approves a plan or explicitly tells you to proceed, treat that as authorization to finish the approved work end to end.
|
|
54
|
-
- Once a plan is approved, treat its scope and acceptance criteria as the execution contract. Do not silently narrow, defer, or drop approved work because the system feels good enough, the remaining work looks less valuable, or you would prefer a smaller PR. If the scope should change, discuss that with the user first unless a real blocker, hidden-risk decision, or explicit user redirect forces the change.
|
|
55
|
-
- When the user shows a bug, screenshot, or broken behavior, investigate first. Lead with what is happening, why it is likely happening, the important options or tradeoffs if they matter, what you checked, and what you are doing next.
|
|
56
|
-
- After investigation, explain the diagnosis before jumping into implementation whenever the cause, tradeoffs, or solution shape are not already obvious.
|
|
57
|
-
- 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.
|
|
58
|
-
- Do not stop at the first local patch that makes the symptom disappear if the root cause is still obviously in place.
|
|
59
|
-
- 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.
|
|
60
|
-
- Keep communication concise by default. Lead with the answer, diagnosis, decision, or next step, and include only the most important supporting detail unless the user asks for more.
|
|
61
|
-
- Honesty means accurate diagnosis, explicit uncertainty, and clear verification limits. It does not mean substituting process language for investigation.
|
|
62
|
-
- 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.
|
|
63
|
-
- Persist corrections and newly learned context in the right durable layer instead of defaulting to `AGENTS.md`.
|
|
64
|
-
- Update the user-scoped `AGENTS.md` only for true cross-project standing preferences or global operating rules.
|
|
65
|
-
- Update the project-scoped repo `AGENTS.md` only for durable repo truth, project constraints, or stable project-wide rules that should always apply in this repo.
|
|
66
|
-
- If the correction is workflow-specific or method-specific, update the relevant skill instead. If no existing skill owns it well, propose creating one instead of stuffing that guidance into `AGENTS.md`.
|
|
67
|
-
- Treat `.waypoint/WORKSPACE.md` as mandatory live execution state, not end-of-task paperwork.
|
|
68
|
-
- Treat `.waypoint/ACTIVE_PLANS.md` as mandatory live plan state for approved work, not a forgotten side file.
|
|
69
|
-
- 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]`.
|
|
70
|
-
- Update `.waypoint/ACTIVE_PLANS.md` whenever the active approved plan, current phase, phase checklist, checkpoint, or approved scope changes.
|
|
71
|
-
- Do not wait until final handoff to update workspace or active plan state. If the work took enough effort that the next agent would benefit from a current snapshot, those files should already say so.
|
|
72
|
-
- 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`.
|
|
73
|
-
- If a tracker exists for the workstream, maintain it as the work evolves instead of updating it only at the end.
|
|
74
|
-
- 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.
|
|
75
|
-
- Rebuild `.waypoint/DOCS_INDEX.md` whenever routable docs change.
|
|
76
|
-
- Rebuild `.waypoint/TRACKS_INDEX.md` whenever tracker files change.
|
|
77
|
-
- Keep most work in the main agent. Use skills, trackers, and reviewer agents when they clearly add leverage, not as default ceremony.
|
|
78
|
-
- 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.
|
|
79
|
-
- Use the repo-local skills and reviewer agents deliberately, but do not underuse them on work that is expensive to get wrong.
|
|
80
|
-
- When spawning reviewer agents or other subagents, explicitly set `fork_context: false` and choose the model/reasoning pair that matches the risk and importance of the second pass.
|
|
81
|
-
- For non-trivial work, strongly prefer reviewer-agent passes at phase checkpoints, before opening or materially updating a PR, after fixing substantial findings, and before final closeout when the environment allows those agents to run.
|
|
82
|
-
- Do not run heavyweight reviewer or full-suite loops after every tiny edit. Batch related work into the current approved phase, then run the checkpoint.
|
|
83
|
-
- 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.
|
|
84
|
-
- 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.
|
|
85
|
-
- 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.
|
|
86
|
-
- Do not kill long-running subagents or reviewer agents just because they are slow.
|
|
87
|
-
- 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.
|
|
88
|
-
- Never interrupt in-flight work just to force a partial result, salvage something quickly, or avoid making the user wait longer.
|
|
89
|
-
- Only stop waiting when the work has actually finished, clearly failed, or the user explicitly redirects the work.
|
|
90
|
-
- When browser work, app inspection, or other interactive UI work is part of reproduction, inspection, or verification, send screenshots of the relevant UI states to the user so they can visually confirm what you observed.
|
|
91
|
-
- Capture the states that matter, such as the broken state, the fixed state, or an important intermediate state that explains the issue.
|
|
92
|
-
- If the current environment cannot provide screenshots, state that explicitly instead of silently omitting visual evidence.
|
|
93
|
-
- When an explanation would be clearer visually, prefer Mermaid diagrams directly in chat for flows, architecture, state, and plans instead of over-explaining in prose.
|
|
94
|
-
|
|
95
|
-
## Execution autonomy
|
|
96
|
-
|
|
97
|
-
Once the user has approved a plan or otherwise told you to continue, own the work until the slice is genuinely complete.
|
|
98
|
-
|
|
99
|
-
Execute approved work phase by phase. Complete the current phase, run the relevant checkpoint, fix findings, rerun verification, and only then move to the next phase.
|
|
100
|
-
|
|
101
|
-
That means:
|
|
102
|
-
|
|
103
|
-
- continue through implementation, verification, and required repo-memory updates without asking for incremental permission
|
|
104
|
-
- use commentary for short progress updates, not as a handoff back to the user
|
|
105
|
-
- do not stop just to announce the next obvious step and ask whether to do it
|
|
26
|
+
- user-scoped `AGENTS.md` holds cross-project preferences and standing rules
|
|
27
|
+
- the repo root `AGENTS.md` holds durable repo context and always-on project rules
|
|
28
|
+
- `.waypoint/WORKSPACE.md` holds live execution state
|
|
29
|
+
- `.waypoint/ACTIVE_PLANS.md` holds the currently approved plan and active phase checkpoints
|
|
30
|
+
- `.waypoint/track/` holds detailed execution state for long-running work
|
|
31
|
+
- `.waypoint/docs/` holds durable project knowledge
|
|
32
|
+
- `.waypoint/plans/` holds durable plan docs
|
|
33
|
+
- `.waypoint/context/` holds the generated bootstrap bundle
|
|
106
34
|
|
|
107
|
-
|
|
35
|
+
General always-on workflow rules belong in `AGENTS.md` and this manual, not only in optional helper skills. Workflow-specific method detail belongs in the relevant skill. After bootstrap, use progressive disclosure: read only the routed docs and files the current task actually needs.
|
|
108
36
|
|
|
109
|
-
|
|
110
|
-
- a hidden-risk or non-obvious decision would materially change scope, behavior, cost, or data safety
|
|
111
|
-
- you want to change approved scope or defer approved work
|
|
112
|
-
- the user explicitly redirects, pauses, or narrows the work
|
|
113
|
-
|
|
114
|
-
If none of those are true, keep going.
|
|
37
|
+
## Working defaults
|
|
115
38
|
|
|
116
|
-
|
|
39
|
+
- Fix root causes instead of papering over symptoms.
|
|
40
|
+
- The default for refactors and migrations is contract replacement, not compatibility preservation.
|
|
41
|
+
- Delete obsolete code aggressively. Remove stale branches, dead props, debug logs, compatibility scaffolding, unused files, and legacy paths as part of the change.
|
|
42
|
+
- Large destructive edits are allowed when they are the clearest route to the approved target state.
|
|
43
|
+
- Temporary breakage inside the active phase is acceptable. Do not stop there; finish the phase back to green.
|
|
44
|
+
- Do the level of cleanup the real codebase requires. Do not use generic “stay narrow” heuristics to avoid the root-cause fix.
|
|
45
|
+
- Keep communication concise and direct.
|
|
117
46
|
|
|
118
|
-
|
|
47
|
+
## Execution contract
|
|
119
48
|
|
|
120
|
-
|
|
121
|
-
- decisions and tradeoffs
|
|
122
|
-
- integration behavior
|
|
123
|
-
- invariants and constraints
|
|
124
|
-
- debugging and operational knowledge
|
|
125
|
-
- durable plans when they are useful beyond the current chat
|
|
49
|
+
Once the user approves a plan or tells you to proceed, that approved scope is the execution contract.
|
|
126
50
|
|
|
127
|
-
Do not
|
|
51
|
+
- Do not silently narrow, defer, or drop approved work.
|
|
52
|
+
- Execute approved work phase by phase.
|
|
53
|
+
- `WORKSPACE.md` and `ACTIVE_PLANS.md` are live files, not paperwork. Update them during the work, not after.
|
|
54
|
+
- Once scope is approved, execute it without asking for permission again for obvious implementation steps, cleanup, validation, or documentation that the approved work requires.
|
|
55
|
+
- Before reporting completion, reread `ACTIVE_PLANS.md`, the active tracker if one exists, `WORKSPACE.md`, and the relevant routed docs, then compare reality against the approved scope, current phase checkpoint, and acceptance criteria.
|
|
56
|
+
- If that reread shows the work is not complete, keep going.
|
|
128
57
|
|
|
129
|
-
|
|
58
|
+
Pause only when:
|
|
59
|
+
- a real blocker prevents forward progress
|
|
60
|
+
- a hidden-risk or non-obvious decision would materially change scope, behavior, cost, or data safety
|
|
61
|
+
- you want to change approved scope or defer approved work
|
|
62
|
+
- the user explicitly redirects, pauses, or narrows the work
|
|
130
63
|
|
|
131
|
-
|
|
64
|
+
## Refactors and migrations
|
|
132
65
|
|
|
133
|
-
|
|
134
|
-
- `code-health-reviewer` for maintainability drift
|
|
135
|
-
- `plan-reviewer` to challenge non-trivial implementation plans when an independent second pass would materially improve the result
|
|
66
|
+
For migrations and refactors:
|
|
136
67
|
|
|
137
|
-
|
|
68
|
+
- do a legacy seam inventory before implementation
|
|
69
|
+
- list every remaining read path, write path, sync or worker path, route contract, frontend consumer, event payload, fixture, and test surface that still depends on the legacy shape
|
|
70
|
+
- give each phase exact grep gates for the legacy symbols being removed
|
|
71
|
+
- do not treat the phase as review-ready or complete while those grep gates still fail
|
|
72
|
+
- when a contract cut changes the expected shape broadly, rewrite affected tests and fixtures in bulk for the new contract instead of dragging legacy test shapes forward through micro-edits
|
|
138
73
|
|
|
139
|
-
|
|
74
|
+
## Review and verification
|
|
140
75
|
|
|
141
|
-
|
|
142
|
-
- Use a fresh `plan-reviewer` agent for each pass. After you read its findings, close it instead of reusing the old reviewer thread.
|
|
143
|
-
- Strengthen the plan when the reviewer surfaces real issues, but do not turn plan review into mandatory ceremony for every non-trivial task.
|
|
76
|
+
Reviewer passes are for real phase boundaries, PR-ready handoff, and final closeout.
|
|
144
77
|
|
|
145
|
-
|
|
78
|
+
- Do not run heavyweight review loops after every tiny edit.
|
|
79
|
+
- Do not spend reviewer passes on a phase that still has known legacy seams or grep-gate failures.
|
|
80
|
+
- If reviewers find meaningful issues, fix them, rerun the relevant verification, and use fresh passes when needed.
|
|
146
81
|
|
|
147
|
-
|
|
82
|
+
Verify your own work before reporting completion.
|
|
148
83
|
|
|
149
|
-
-
|
|
150
|
-
-
|
|
151
|
-
-
|
|
152
|
-
-
|
|
84
|
+
- Match verification to the real risk surface.
|
|
85
|
+
- For UI work, inspect the real UI and send screenshots when the environment allows it.
|
|
86
|
+
- For backend or scripts, run code and inspect real output.
|
|
87
|
+
- If the result is still incomplete or unproven, keep going.
|
|
153
88
|
|
|
154
|
-
##
|
|
89
|
+
## State and documentation
|
|
155
90
|
|
|
156
|
-
-
|
|
157
|
-
-
|
|
158
|
-
-
|
|
159
|
-
-
|
|
160
|
-
-
|
|
161
|
-
-
|
|
91
|
+
- Update `WORKSPACE.md` whenever the active goal, phase, next step, blocker, checkpoint state, or verification state materially changes.
|
|
92
|
+
- Update `ACTIVE_PLANS.md` whenever the active approved plan, current phase, checkpoint, or approved scope changes.
|
|
93
|
+
- Use `.waypoint/track/` only when `WORKSPACE.md` is no longer enough to keep the work legible.
|
|
94
|
+
- Persist corrections in the right durable layer instead of defaulting to `AGENTS.md`.
|
|
95
|
+
- Update user-scoped `AGENTS.md` only for true cross-project standing rules.
|
|
96
|
+
- Update repo `AGENTS.md` only for durable repo-wide context or always-on project rules.
|
|
97
|
+
- Put workflow-specific corrections in the relevant skill, not in `AGENTS.md`.
|
|
98
|
+
- Update `.waypoint/docs/` for durable project knowledge and `.waypoint/plans/` for durable plan changes.
|
|
162
99
|
|
|
163
|
-
## Final
|
|
100
|
+
## Final quality bar
|
|
164
101
|
|
|
165
102
|
Before wrapping up, ask:
|
|
166
103
|
|
|
167
|
-
Did I solve the user's actual problem
|
|
168
|
-
|
|
169
|
-
|
|
104
|
+
- Did I solve the user's actual problem?
|
|
105
|
+
- Did I finish the approved phase cleanly?
|
|
106
|
+
- Are the live state files current?
|
|
107
|
+
- Would the next agent understand what is going on from the repo?
|
|
170
108
|
|
|
171
|
-
If
|
|
109
|
+
If not, keep going.
|
|
@@ -21,6 +21,7 @@ Write code that keeps behavior explicit, failure visible, and the next change ea
|
|
|
21
21
|
Do not preserve old behavior unless a user-facing requirement explicitly asks for it.
|
|
22
22
|
|
|
23
23
|
- Remove replaced paths instead of leaving shims, aliases, or silent compatibility branches.
|
|
24
|
+
- When a refactor or replacement makes code obsolete, delete the obsolete files, dead props, debug logs, and stale branches as part of the change instead of keeping them around.
|
|
24
25
|
- Do not keep dead fields, dual formats, or migration-only logic "just in case."
|
|
25
26
|
- If compatibility must stay, document the exact contract being preserved and the removal condition.
|
|
26
27
|
|
|
@@ -3,18 +3,13 @@
|
|
|
3
3
|
|
|
4
4
|
This repository uses Waypoint as its Codex operating system.
|
|
5
5
|
|
|
6
|
+
These instructions are mandatory in this repo and override weaker generic guidance unless the user says otherwise.
|
|
7
|
+
|
|
6
8
|
Waypoint owns only the text inside these `waypoint:start/end` markers.
|
|
7
9
|
If you need repo-specific AGENTS instructions, write them outside this managed block.
|
|
8
10
|
Do not put durable repo guidance inside the managed block, because `waypoint init` may replace it during upgrades.
|
|
9
11
|
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
Run the Waypoint bootstrap only in these cases:
|
|
13
|
-
- at the start of a new session
|
|
14
|
-
- immediately after a compaction
|
|
15
|
-
- if the user explicitly tells you to rerun it
|
|
16
|
-
|
|
17
|
-
Bootstrap sequence:
|
|
12
|
+
Run the Waypoint bootstrap only at session start, after compaction, or when the user explicitly asks for it:
|
|
18
13
|
1. Run `node .waypoint/scripts/prepare-context.mjs`
|
|
19
14
|
2. Read `.waypoint/SOUL.md`
|
|
20
15
|
3. Read `.waypoint/agent-operating-manual.md`
|
|
@@ -23,101 +18,17 @@ Bootstrap sequence:
|
|
|
23
18
|
6. Read `.waypoint/context/MANIFEST.md`
|
|
24
19
|
7. Read every file listed in the manifest
|
|
25
20
|
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
- Do not skip it at session start or after compaction.
|
|
29
|
-
- Do not rerun it mid-conversation just because a task is substantial.
|
|
30
|
-
- Earlier chat context or earlier work in the session does not replace the bootstrap when a new session starts or a compaction happens.
|
|
31
|
-
- If you are not sure whether a new session started or a compaction happened, rerun it.
|
|
32
|
-
- Do not skip the context refresh or skip files in the manifest.
|
|
33
|
-
|
|
34
|
-
Before making meaningful implementation, review, architectural, or tradeoff decisions, inspect the project root guidance files for persisted project context.
|
|
35
|
-
|
|
36
|
-
Project guidance rules:
|
|
37
|
-
- Distinguish user-scoped guidance from project-scoped guidance.
|
|
38
|
-
- User-scoped `AGENTS.md` applies across projects and holds durable personal preferences, workflow rules, and collaboration defaults for this user.
|
|
39
|
-
- Prefer `AGENTS.md` in the project root if present.
|
|
40
|
-
- The project root `AGENTS.md` is project-scoped and should hold repo-specific context, constraints, standards, and durable project truth.
|
|
41
|
-
- Look for context sections relevant to the task, including `## Project Context`, `## Frontend Context`, and `## Backend Context`.
|
|
42
|
-
- Treat relevant context sections as active inputs to decision-making, not passive documentation.
|
|
43
|
-
- Apply that context to scope, architecture, implementation depth, review standards, risk tolerance, testing strategy, compatibility expectations, rollout caution, and UX/product quality bar.
|
|
44
|
-
|
|
45
|
-
Examples of durable context that can materially change the correct approach:
|
|
46
|
-
- internal tool vs public internet-facing product
|
|
47
|
-
- expected scale, criticality, and usage patterns
|
|
48
|
-
- regulatory, privacy, or compliance requirements
|
|
49
|
-
- browser and device support expectations
|
|
50
|
-
- accessibility expectations
|
|
51
|
-
- SEO requirements
|
|
52
|
-
- tenant model and authorization model
|
|
53
|
-
- backward compatibility requirements
|
|
54
|
-
- reliability and observability expectations
|
|
55
|
-
- security posture assumptions
|
|
21
|
+
Before major implementation or architecture changes, check the repo guidance and routed docs for durable context. Ask only the missing high-leverage questions.
|
|
56
22
|
|
|
57
|
-
|
|
58
|
-
- do not guess silently
|
|
59
|
-
- if the task touches frontend and the needed frontend project context is not present in `AGENTS.md` or routed docs, use `frontend-context-interview`
|
|
60
|
-
- if the task touches backend and the needed backend project context is not present in `AGENTS.md` or routed docs, use `backend-context-interview`
|
|
61
|
-
- ask only the missing high-leverage questions
|
|
62
|
-
- ask about the project, deployment reality, and operating constraints rather than the concrete feature
|
|
63
|
-
- persist only durable context back into the project guidance file
|
|
64
|
-
- do not write transient task-specific details into context sections
|
|
23
|
+
Once the user approves a plan or tells you to proceed, that approved scope is the execution contract. Do not silently narrow, defer, or drop approved work unless a real blocker or decision requires discussion.
|
|
65
24
|
|
|
66
|
-
|
|
67
|
-
- proceed with explicit assumptions
|
|
68
|
-
- state those assumptions clearly in the work output or review
|
|
69
|
-
- do not present guesses as established project context
|
|
25
|
+
`WORKSPACE.md` is the live execution log. `ACTIVE_PLANS.md` is the live execution contract. Keep them current at phase boundaries, checkpoint changes, blockers, and before handoff.
|
|
70
26
|
|
|
71
|
-
|
|
27
|
+
Refactor and migration default: use direct replacement, not compatibility scaffolding, unless the user or project docs explicitly require coexistence. Delete obsolete code aggressively and finish the phase back to green. Large destructive edits are allowed when they are the clearest path to the approved target state.
|
|
72
28
|
|
|
73
|
-
|
|
74
|
-
When work is in flight elsewhere — reviewer agents, subagents, CI, automated review, external jobs, or other waiting periods — wait as long as required. There is no fixed waiting limit, and slowness alone is not a reason to interrupt or abandon the work.
|
|
75
|
-
When you use a browser, app, or other interactive UI to inspect, reproduce, or verify something, send the user screenshots of the relevant states so they can see what you saw. If screenshots are not possible in the current environment, say so explicitly.
|
|
76
|
-
When an explanation is clearer visually, use Mermaid diagrams directly in chat for flows, architecture, state, and plans.
|
|
29
|
+
Use reviewer passes at real phase boundaries, before PR-ready handoff, and before final closeout when helpful. Do not spend heavyweight review on a phase that still has known legacy seams or grep-gate failures.
|
|
77
30
|
|
|
78
|
-
|
|
79
|
-
- Keep communication concise by default. Lead with the answer, diagnosis, decision, or next step, and include only the most important supporting detail unless the user asks for more.
|
|
80
|
-
- For planned work, treat `.waypoint/ACTIVE_PLANS.md` as the live execution contract and define done from the approved scope, current phase checkpoint, and acceptance criteria, not from your own sense that the system is already good enough.
|
|
81
|
-
- Execute approved plans phase by phase. Finish the current phase, run the relevant checkpoint, resolve findings, and only then move to the next phase.
|
|
82
|
-
- When you report back to the user, explain the result in plain, direct language. Say what you changed, what happened, and anything the user actually needs to know, but do not lean on jargon, low-level implementation detail, or code-heavy narration unless the user asks for it.
|
|
83
|
-
- Write for a smart person who is not looking at the code. The goal is clarity, not technical performance.
|
|
84
|
-
- 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.
|
|
85
|
-
- When the user shows a bug, broken behavior, or a screenshot of something wrong, investigate before discussing readiness.
|
|
86
|
-
- After investigation, explain the problem to the user before jumping into implementation whenever the diagnosis, tradeoffs, or solution shape are not already obvious.
|
|
87
|
-
- Lead with the useful truth: what is happening, the likely cause, the important options or tradeoffs if they matter, what you checked, and what you are doing next.
|
|
88
|
-
- 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.
|
|
89
|
-
- 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.
|
|
90
|
-
- 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.
|
|
91
|
-
- Honesty means accurate diagnosis, explicit uncertainty, and clear verification limits. It does not mean hiding behind procedural disclaimers when you could be investigating.
|
|
92
|
-
- Before you say the work is complete, verify it yourself whenever you reasonably can with the tools available in the environment.
|
|
93
|
-
- Match the verification to the task. Run code and inspect real output for scripts and backend changes. Click through flows, inspect rendered states, and check behavior in the browser for visual or interactive work.
|
|
94
|
-
- Use representative or real inputs when practical instead of toy examples, so the check tells you something meaningful about the actual request.
|
|
95
|
-
- If there are realistic edge cases, failure modes, or recovery paths you can exercise without turning the task into a science project, do that too.
|
|
96
|
-
- If something looks wrong, incomplete, or unproven, keep going. Fix it, rerun the check, and only report completion once the result matches the request.
|
|
97
|
-
- Do not call work done while approved scope or acceptance criteria remain unfinished. If any approved item was skipped or deferred, report that plainly as partial work or a scope-change proposal, not as completion.
|
|
98
|
-
- The point of this is to keep iteration off the user's shoulders. Return finished work when possible, not a first pass that still depends on the user to spot-check it for you.
|
|
99
|
-
- 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.
|
|
31
|
+
Keep communication concise. Lead with the answer, diagnosis, decision, or next step. Explain the diagnosis before implementation when the cause, tradeoffs, or solution shape are not already obvious.
|
|
100
32
|
|
|
101
|
-
|
|
102
|
-
- Treat `.waypoint/WORKSPACE.md` as a mandatory live execution log, not a closeout chore.
|
|
103
|
-
- Treat `.waypoint/ACTIVE_PLANS.md` as the mandatory live execution-contract file for approved plans.
|
|
104
|
-
- Update `.waypoint/WORKSPACE.md` during the work whenever the active goal, current phase, next step, blocker, verification state, or handoff context materially changes.
|
|
105
|
-
- Update `.waypoint/ACTIVE_PLANS.md` whenever the active approved plan, current phase, phase checklist, checkpoint, or approved scope changes.
|
|
106
|
-
- For multi-step work, keep the workspace and active plan file moving as you move: do not wait until the end of the task to reconstruct what happened.
|
|
107
|
-
- 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.
|
|
108
|
-
- Persist corrections and newly learned context in the right durable layer instead of defaulting to `AGENTS.md`.
|
|
109
|
-
- Update user-scoped `AGENTS.md` only for true cross-project standing preferences or global operating rules.
|
|
110
|
-
- Update the project-scoped repo `AGENTS.md` only for durable repo context or project-wide rules that should always apply in this repo.
|
|
111
|
-
- If the correction is workflow-specific or method-specific, update the relevant repo skill instead. If no existing skill owns it well, propose creating one instead of stuffing that guidance into `AGENTS.md`.
|
|
112
|
-
- Update `.waypoint/docs/` when durable project knowledge changes, update `.waypoint/plans/` when a durable plan changes, update `.waypoint/ACTIVE_PLANS.md` when the active approved plan or current phase changes, and refresh `last_updated` on touched routable docs
|
|
113
|
-
- Keep most work in the main agent. Use repo-local skills, trackers, and reviewer agents when they create clear leverage, not as default ceremony.
|
|
114
|
-
- 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.
|
|
115
|
-
- Use reviewer agents proactively at phase checkpoints when the work is non-trivial, risky, user-facing, merge-bound, or otherwise expensive to get wrong.
|
|
116
|
-
- Strong default moments for reviewer-agent passes are: after completing a plan phase, before opening or materially updating a PR, after fixing substantial review findings, and before finally calling the work clear.
|
|
117
|
-
- Do not interrupt implementation for heavyweight checks after every tiny edit. Batch related work into the current plan phase, then run the checkpoint.
|
|
118
|
-
- 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.
|
|
119
|
-
- 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
|
|
120
|
-
- 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
|
|
121
|
-
- Treat the generated context bundle as required session bootstrap, not optional reference material
|
|
122
|
-
- After plan approval, own the execution through implementation, verification, and necessary repo-memory updates before surfacing a final completion report
|
|
33
|
+
Before reporting completion, verify the result yourself when reasonably possible, reread `ACTIVE_PLANS.md`, `WORKSPACE.md`, and any active tracker, and compare reality against the approved scope and current checkpoint. If the work is not actually complete, keep going.
|
|
123
34
|
<!-- waypoint:end -->
|