@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
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@aacombarro89/praxis",
3
- "version": "0.1.3",
3
+ "version": "0.1.4",
4
4
  "description": "A CLI that installs an AI methodology layer into a codebase.",
5
5
  "type": "module",
6
6
  "bin": {
@@ -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.** A fresh session
14
- (or a resume subagent whose only briefing is this file) should be able to act
15
- from it without re-running the discovery you already did. Provide or reference
16
- the load-bearing context — files, line numbers, doc sections, prior art,
17
- commands — rather than making the next session rediscover it.
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 chat (with real values substituted):
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
- Do not attempt to spawn or launch another sessionthat is not supported in
185
- this environment. The user starts the next session manually.
208
+ Starting a new top-level session is a manual stepdo 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 so a
4
- # fresh agent session resumes without losing state or re-running discovery.
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.