@aacombarro89/praxis 0.1.4 → 0.1.5

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.4",
3
+ "version": "0.1.5",
4
4
  "description": "A CLI that installs an AI methodology layer into a codebase.",
5
5
  "type": "module",
6
6
  "bin": {
@@ -21,4 +21,6 @@ and complete:
21
21
  anchors; staleness signals are future advisory work.
22
22
  - Make instruction-layer changes through `/praxis-instructions`, not ad-hoc edits — run
23
23
  it when unsure whether the instruction files still match the project, or whether
24
- they cover the sections above.
24
+ they cover the sections above. When this is part of reconciling the methodology
25
+ layer after a change, enter through the `/praxis-upkeep` front gate (which
26
+ delegates here) instead of running this pass alone.
@@ -24,17 +24,20 @@ The brief serves two readers, and the same document works for both:
24
24
  ## Delegation mode
25
25
 
26
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.
27
+ Switch to delegation mode **one scoped brief per workstream** instead of a
28
+ single combined doc when you intend to delegate execution, for either reason
29
+ (they don't require parallelism):
30
+ - the work splits into **independent workstreams** to run concurrently, or
31
+ - a **context-heavy or sequential** stream is worth running in an execution
32
+ agent's *own* context (and on a lighter tier) to keep the orchestrator's clean.
33
+
34
+ - Write one brief per workstream — including a single sequential stream worth
35
+ isolating. Run Phases 1–5 per brief, scoped to that workstream only (its files,
36
+ prior art, commands, success criterion), so an execution agent runs it cold.
34
37
  - Name each file for its workstream: `YYYY-MM-DD_HHMM_HANDOFF_<workstream>.md`, so
35
38
  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.
39
+ - Keep workstreams at the right grain: independent ones don't coordinate
40
+ mid-flight; a sequential stream is one brief the agent works start to finish.
38
41
 
39
42
  Everything else (sections, discipline, save location) is identical to the
40
43
  single-doc flow below.
@@ -21,30 +21,42 @@ the current conversation in memory, can resume without guessing or re-deriving.
21
21
 
22
22
  ## Delegated execution
23
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.
24
+ A handoff brief is not only for the *next* session — it is also the briefing an
25
+ execution agent needs to do scoped work *now*. The reason to delegate is to keep
26
+ in the orchestrator's context only what it needs — the *result*, not the
27
+ execution detail and to match each piece of work to the cheapest tier that can
28
+ do it. Delegate when that holds; do the work inline when it doesn't.
29
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.
30
+ - Delegate when you need the result, not the detail. Two triggers, often
31
+ combined **neither requires parallelism**:
32
+ - *Independent workstreams* parts specifiable up front and runnable without
33
+ coordination mid-flight (concurrently, where the tool allows). If two parts
34
+ must talk constantly, they are one workstream.
35
+ - *Context or budget isolation* — a context-heavy or mechanical run (a wide
36
+ refactor, a multi-step migration, a long grind) worth executing in an
37
+ execution agent's *own* context window, on a lighter/faster tier, so the
38
+ orchestrator's context stays clean. This holds for a *single sequential*
39
+ stream: size and cost justify delegating on their own.
40
+ - Name the split at plan time. When a plan's steps form independent or
41
+ context-heavy workstreams, surface the delegation split *as part of the plan* —
42
+ what each execution agent runs and how its result returns — rather than only
43
+ deciding to delegate mid-execution.
33
44
  - Brief each workstream as a self-contained context cache — the same discipline
34
45
  as a handoff. An execution agent starts cold: give it the load-bearing files
35
46
  (`path:line`), the prior art to mirror, the exact build/test commands, and a
36
47
  crisp success/verify criterion. A vague brief gets vague work back.
37
48
  - 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.)
49
+ integrates; execution agents do bounded, fully-specified work and return the
50
+ result, not the intermediate detail. Match the tier to the work — execution
51
+ agents can be lighter/faster than the orchestrator. (Stated by role, not by
52
+ model name, so it survives model releases.)
42
53
  - Verify on return; trust nothing unread. Each returned workstream is checked
43
54
  against its stated success criterion (build, tests, a read of the diff) before
44
55
  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.
56
+ - Produce the briefs with `/praxis-handoff` (run it per workstream), not by hand,
57
+ so each is self-contained. Dispatch a subagent per brief where the tool
58
+ supports subagents; where it does not, run the briefs inline in sequence or
59
+ hand them to a fresh session same brief, different venue.
60
+ - Use judgment on whether to delegate at all. It pays off for multi-workstream or
61
+ context-heavy work; for a small single-thread change the briefing cost exceeds
62
+ the savings — just do it inline.
@@ -10,3 +10,9 @@ It is the single front gate: it sequences `praxis check` and fully delegates to
10
10
  `/praxis-instructions` (instruction layer) and `/praxis-wiki` (knowledge wiki). The
11
11
  command itself only sequences and reports; the sub-skills make any edits, each
12
12
  behind its own confirmation gate.
13
+
14
+ Run all three passes through the gate even when only one looks like it has work.
15
+ The gate exists so you do not pre-decide which passes are needed — the irrelevant
16
+ ones no-op cheaply, and skipping straight to a sub-skill because the others "look
17
+ like no-ops" is exactly the piecemeal use this rule prevents (it is how a pass
18
+ that did have work gets silently skipped).
@@ -46,4 +46,7 @@ unlike a tool's machine-local native memory.
46
46
  - Do wiki work by running `/praxis-wiki`, not by hand — bootstrapping, filing new
47
47
  knowledge, and linting all run the skill rather than hand-authoring pages and
48
48
  hand-editing `index.md`/`log.md` around it. It keeps the index, log, and anchors
49
- consistent.
49
+ consistent. When the wiki pass is part of reconciling the methodology layer
50
+ after a change, enter through the `/praxis-upkeep` front gate (which delegates
51
+ here) instead of running it alone; call `/praxis-wiki` directly only for a
52
+ deliberate single pass, e.g. first-run bootstrap.