@aacombarro89/praxis 0.1.3 → 0.1.4
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
CHANGED
|
@@ -10,11 +10,34 @@ You are a senior engineer writing a handoff document at the end of a working
|
|
|
10
10
|
session. Capture ALL relevant context so a fresh session — with none of this
|
|
11
11
|
conversation in memory — can read the file and immediately continue the work.
|
|
12
12
|
|
|
13
|
-
The handoff is a **context cache, not just a status report.**
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
13
|
+
The handoff is a **context cache, not just a status report.** Whoever reads it —
|
|
14
|
+
with none of this conversation in memory — should be able to act from it without
|
|
15
|
+
re-running the discovery you already did. Provide or reference the load-bearing
|
|
16
|
+
context — files, line numbers, doc sections, prior art, commands — rather than
|
|
17
|
+
making the reader rediscover it.
|
|
18
|
+
|
|
19
|
+
The brief serves two readers, and the same document works for both:
|
|
20
|
+
- **A fresh session** a human starts later to resume the work.
|
|
21
|
+
- **A subagent** the orchestrator dispatches *now* to execute a scoped
|
|
22
|
+
workstream (see *Delegation mode* below).
|
|
23
|
+
|
|
24
|
+
## Delegation mode
|
|
25
|
+
|
|
26
|
+
By default this command writes one combined handoff for resuming the whole task.
|
|
27
|
+
When the work splits into several **independent workstreams** that you intend to
|
|
28
|
+
delegate to subagents, switch to delegation mode: produce **one scoped brief per
|
|
29
|
+
workstream** instead of a single combined doc.
|
|
30
|
+
|
|
31
|
+
- Run Phases 1–5 once per workstream. Scope each brief to that workstream only —
|
|
32
|
+
its files, its prior art, its commands, its success criterion — so a subagent
|
|
33
|
+
can execute it without the others' context.
|
|
34
|
+
- Name each file for its workstream: `YYYY-MM-DD_HHMM_HANDOFF_<workstream>.md`, so
|
|
35
|
+
the set sorts together and each is identifiable.
|
|
36
|
+
- Keep workstreams genuinely independent; if two need constant coordination, they
|
|
37
|
+
are one brief, not two.
|
|
38
|
+
|
|
39
|
+
Everything else (sections, discipline, save location) is identical to the
|
|
40
|
+
single-doc flow below.
|
|
18
41
|
|
|
19
42
|
## Phase 1 — Build the filename
|
|
20
43
|
|
|
@@ -172,7 +195,8 @@ not reopen the file.]
|
|
|
172
195
|
|
|
173
196
|
## Phase 6 — Confirm and hand off
|
|
174
197
|
|
|
175
|
-
After writing, print exactly this to
|
|
198
|
+
**Resume path (single combined handoff).** After writing, print exactly this to
|
|
199
|
+
chat (with real values substituted):
|
|
176
200
|
|
|
177
201
|
```
|
|
178
202
|
✅ Handoff saved: <relative/path/to/file.md>
|
|
@@ -181,5 +205,23 @@ To continue, open a NEW session and send:
|
|
|
181
205
|
Read <relative/path/to/file.md> and continue from the Immediate Next Steps section.
|
|
182
206
|
```
|
|
183
207
|
|
|
184
|
-
|
|
185
|
-
|
|
208
|
+
Starting a new top-level session is a manual step — do not try to launch one;
|
|
209
|
+
the user does that.
|
|
210
|
+
|
|
211
|
+
**Delegation path (per-workstream briefs).** After writing the briefs, print the
|
|
212
|
+
dispatch list so the orchestrator can fan the work out — one subagent per brief:
|
|
213
|
+
|
|
214
|
+
```
|
|
215
|
+
✅ Briefs saved:
|
|
216
|
+
- <relative/path/to/workstream-a.md>
|
|
217
|
+
- <relative/path/to/workstream-b.md>
|
|
218
|
+
|
|
219
|
+
To execute, dispatch one subagent per brief:
|
|
220
|
+
Read <brief> and complete the workstream it describes; verify against its
|
|
221
|
+
success criterion before returning.
|
|
222
|
+
```
|
|
223
|
+
|
|
224
|
+
Spawning a subagent for each brief and verifying its result on return is the
|
|
225
|
+
orchestrator's job (the main thread, which has the subagent/Task tool) — this
|
|
226
|
+
command only produces the briefs. Within-session subagent delegation is
|
|
227
|
+
supported; launching a separate top-level session is not.
|
|
@@ -1,7 +1,10 @@
|
|
|
1
|
-
# Package manifest (docs/wiki/packages-and-emit.md, D22/D24). Ships a standing reminder
|
|
1
|
+
# Package manifest (docs/wiki/packages-and-emit.md, D22/D24/D37). Ships a standing reminder
|
|
2
2
|
# (rules.md) plus the /praxis-handoff command (commands/handoff.md): capture full
|
|
3
|
-
# session context into a chronologically-named, self-contained handoff doc
|
|
4
|
-
#
|
|
3
|
+
# session context into a chronologically-named, self-contained handoff doc that
|
|
4
|
+
# carries work across both boundaries it can cross — a session boundary (a fresh
|
|
5
|
+
# agent session resumes without re-running discovery) and an agent boundary (a
|
|
6
|
+
# subagent executes a scoped workstream the orchestrator delegated, D37). One
|
|
7
|
+
# context-cache artifact serves both readers.
|
|
5
8
|
# Layer 1 / stack- & tool-agnostic — the command adapts to whatever build/test,
|
|
6
9
|
# design doc, and instruction layer the target project has; it hardcodes none of
|
|
7
10
|
# Praxis's own specifics.
|
|
@@ -18,3 +18,33 @@ the current conversation in memory, can resume without guessing or re-deriving.
|
|
|
18
18
|
that makes the authored instruction files stale or incomplete, say so.
|
|
19
19
|
- Keep handoffs together in one directory so they sort in chronological order;
|
|
20
20
|
don't scatter them into the codebase.
|
|
21
|
+
|
|
22
|
+
## Delegated execution
|
|
23
|
+
|
|
24
|
+
A handoff brief is not only for the *next* session — it is also the briefing a
|
|
25
|
+
*subagent* needs to execute scoped work *now*. When a task decomposes into
|
|
26
|
+
independent, well-bounded workstreams, the default approach is to orchestrate:
|
|
27
|
+
plan the split, brief each workstream, delegate execution, then verify and
|
|
28
|
+
integrate — rather than doing every workstream inline.
|
|
29
|
+
|
|
30
|
+
- Split by independence, not by size. A workstream worth delegating is one that
|
|
31
|
+
can be specified up front and executed without coordination mid-flight. If two
|
|
32
|
+
parts must talk to each other constantly, they are one workstream.
|
|
33
|
+
- Brief each workstream as a self-contained context cache — the same discipline
|
|
34
|
+
as a handoff. An execution agent starts cold: give it the load-bearing files
|
|
35
|
+
(`path:line`), the prior art to mirror, the exact build/test commands, and a
|
|
36
|
+
crisp success/verify criterion. A vague brief gets vague work back.
|
|
37
|
+
- Keep the tiers to their jobs. The orchestrator plans, decomposes, verifies, and
|
|
38
|
+
integrates; the execution agents do bounded, fully-specified work. Match the
|
|
39
|
+
effort to the tier — execution agents can be lighter/faster than the
|
|
40
|
+
orchestrator. (Stated by role, not by model name, so it survives model
|
|
41
|
+
releases.)
|
|
42
|
+
- Verify on return; trust nothing unread. Each returned workstream is checked
|
|
43
|
+
against its stated success criterion (build, tests, a read of the diff) before
|
|
44
|
+
it is integrated — the orchestrator owns correctness of the whole.
|
|
45
|
+
- Produce the briefs with `/praxis-handoff` (run it per workstream), not by hand —
|
|
46
|
+
so each is self-contained and consistent. The orchestrator then dispatches a
|
|
47
|
+
subagent per brief where the tool supports subagents.
|
|
48
|
+
- Use judgment on whether to delegate at all. Orchestration pays off for
|
|
49
|
+
multi-workstream work; for a small single-thread change it is overhead — just
|
|
50
|
+
do it inline.
|