@brainervirus/workit-codex 1.2.0 → 1.3.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 CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@brainervirus/workit-codex",
3
- "version": "1.2.0",
3
+ "version": "1.3.0",
4
4
  "private": false,
5
5
  "description": "Workit Codex CLI/desktop plugin — shared MCP transport, hooks, and fourteen method skills",
6
6
  "keywords": [
@@ -38,8 +38,8 @@
38
38
  "build": "bun scripts/build.ts"
39
39
  },
40
40
  "dependencies": {
41
- "@brainervirus/workit-core": "^1.2.0",
42
- "@brainervirus/workit-mcp": "^1.2.0"
41
+ "@brainervirus/workit-core": "^1.3.0",
42
+ "@brainervirus/workit-mcp": "^1.3.0"
43
43
  },
44
44
  "engines": {
45
45
  "node": ">=24"
@@ -1,43 +1,37 @@
1
1
  ---
2
2
  name: workit-babysit
3
- description: Use after creating a PR (auto-starts, drive default), when a PR needs driving to merge-ready, CI is red, or the user says babysit
3
+ description: Use when the user asks to babysit a PR or explicitly opts in to PR follow-up
4
4
  ---
5
5
 
6
- # Babysit a PR to merge-ready
6
+ # Babysit a PR to PR-ready
7
7
 
8
- Babysit starts automatically on PR creation unless declined (`babysit:false`).
9
- One babysitter per PR; never mutate PR topology (no rebase strategy changes,
10
- no force-push). When a PR URL is observed from a route Workit did not enforce
11
- (for example a raw `gh pr create` the host allowed), load this skill and drive
12
- that PR anyway; do not claim the Workit route was enforced.
8
+ PR creation does not start babysitting. `babysit:true` opts into this skill;
9
+ omission means no follow-up. A PR URL by itself is not an instruction to drive
10
+ it. When the user asks to babysit a URL from a route Workit did not enforce,
11
+ help without claiming the Workit route was enforced. Never mutate PR topology
12
+ (no rebase strategy changes, no force-push).
13
13
 
14
- ## Before method work
15
-
16
- If there is no active or paused task, run shared `task.start` then `policy.assess`
17
- before relying on selected policy rules or other product mutations. Assessment
18
- selects requirements; do not wait for a rule that can only exist after assess.
19
14
 
20
15
  ## Method
21
16
 
22
- 1. Declare mode in the same turn as the PR URL: drive (fix + merge, the
23
- default), watch (report only), or threads-only.
24
- 2. Work the merge frontier in order: conflicts → review threads → CI.
25
- Record a frontier brief (frontier state, next action) in task progress
26
- per pass so the steps stay visible.
17
+ 1. Default to drive mode for an explicit babysit request: resolve conflicts,
18
+ address review threads, and get checks green. Watch reports status only;
19
+ threads-only addresses review threads. Ask about mode only when the choice
20
+ materially changes the work.
21
+ 2. Work toward PR-ready in order: conflicts → review threads → CI. Keep a brief
22
+ checkpoint when continuity needs it; task progress is optional.
27
23
  3. Classify CI before retry: flake (rerun once) vs stale base (verify with
28
24
  `git merge-base --is-ancestor` before updating) vs real failure (fix).
29
25
  4. Triage bot findings skeptically: reproduce or quote code before acting;
30
26
  invalid bots get a reasoned dismissal, never silent ignore.
31
27
  5. Batch fixes into one push wave; re-verify green after every push.
32
- 6. Merge only when green and approved, honoring `pr` settings (squash +
33
- delete branch). Stop at the human's line: never merge on explicit hold.
28
+ 6. Stop at PR-ready. A PR creation or babysit request does not authorize merge
29
+ or release. Continue to merge or release only when the user explicitly sets
30
+ that delivery endpoint and host authority allows the action.
34
31
 
35
32
  ## Completion
36
33
 
37
- PR merged per settings, or a status brief (frontier state, next action) when
38
- blocked on the human. Record evidence for fixes, findings for blockers.
39
-
40
- A squash merge creates a new commit on the base branch, so the pre-merge
41
- candidate identity changes: re-record verification and review evidence against
42
- the merged commit before `task.close`, or the close will report unsatisfied
43
- requirements.
34
+ Report PR-ready status with evidence for fixes, or a brief blocker report. If
35
+ the user explicitly authorized merge, honor the configured strategy only after
36
+ checks and required approval. After a squash merge, re-record evidence against
37
+ the new base commit before closing tracked work.
@@ -8,11 +8,6 @@ description: Use when policy identifies behavior, side effects, permissions, or
8
8
  Test the observable behavior at a stable boundary, not the implementation shape.
9
9
  Use this method when assessment selects the `testing` dimension.
10
10
 
11
- ## Before method work
12
-
13
- If there is no active or paused task, run shared `task.start` then `policy.assess`
14
- before relying on selected policy rules or other product mutations. Assessment
15
- selects requirements; do not wait for a rule that can only exist after assess.
16
11
 
17
12
  ## Method
18
13
 
@@ -8,11 +8,6 @@ description: Use when a small-looking change could break something else, before
8
8
  A small diff is not a small risk. Prove the one fact it is safe because of,
9
9
  with runnable proof — not assertion.
10
10
 
11
- ## Before method work
12
-
13
- If there is no active or paused task, run shared `task.start` then `policy.assess`
14
- before relying on selected policy rules or other product mutations. Assessment
15
- selects requirements; do not wait for a rule that can only exist after assess.
16
11
 
17
12
  ## Method
18
13
 
@@ -1,64 +1,47 @@
1
1
  ---
2
2
  name: workit-challenge
3
- description: Use when a proposal is ambiguous, consequential, disputed, or may hide assumptions, coupling, failure modes, or a simpler solution
3
+ description: Use when requirements or consequences leave a real decision open
4
4
  ---
5
5
 
6
- # Challenge a proposal with a grounded grill
6
+ # Challenge open choices with evidence
7
7
 
8
- Treat the proposal as a hypothesis. Facts are the agent's job; decisions are
9
- the user's. Use this method when assessment selects the `challenge` or
10
- `decisions` dimension.
11
-
12
- ## Before method work
13
-
14
- If there is no active or paused task, run shared `task.start` then `policy.assess`
15
- before relying on selected policy rules or other product mutations. Assessment
16
- selects requirements; do not wait for a rule that can only exist after assess.
8
+ Skip this method for a precise, settled request.
17
9
 
18
10
  ## Method
19
11
 
20
- 1. Ground first: inspect the task, policy, candidate, evidence, decisions, and
21
- the repo docs that exist. Never ask what code or docs can answer.
22
- 2. Diverge once, bounded: when the approach is unknown, offer 3-5 candidate
23
- directions with evidence and tradeoffs in one advisory burst, without
24
- critique. Record the burst as artifact evidence when it matters; the user
25
- steers or mixes.
26
- 3. Grill one question at a time: each question carries your recommended answer,
27
- the facts behind it, and at least one rejected alternative. Resolve
28
- dependency order and recompute after every answer — a wall of questions is
29
- not an interview.
30
- 4. Funnel every resolution: the moment a consequential choice settles, bind it
31
- with a receipt-shaped question — header `Workit decision: <purpose>` and the
32
- same label repeated in the question text (host UIs may not render headers) —
33
- exactly `approved`/`rejected` options, the approved description carrying the
34
- exact content.
35
- If the user already stated the choice in conversation and no receipt can be
36
- minted, record it in task progress and reassess so the settled requirement
37
- retires — never re-ask to mint a receipt, and never leave it for close to
38
- demand.
39
- 5. Durability: write or refresh the spec under `docs/<slug>/` only when the
40
- `durable-spec` requirement fires. No glossary, no second lifecycle.
41
- 6. Counter-case: each material recommendation carries one strongest
42
- counter-case (hidden assumption, failure mode, coupling, simpler
43
- alternative). Stop when a counter-case adds no new constraint.
44
-
45
- Stop at an empty frontier or three rounds; the cap is the bound. Say directly
46
- when the proposal is weak, overcomplicated, or solves the wrong problem.
12
+ 1. Ground the outcome, constraints, evidence, and important unknowns. Inspect
13
+ code and project docs before asking about facts they can answer.
14
+ 2. Separate observations, inferences, and proposals. Test assumptions that
15
+ could change the recommendation.
16
+ 3. When viable alternatives exist, present two or three genuinely different
17
+ approaches. Recommend one; for each, give its benefit, cost or risk, when it
18
+ fits, and the smallest useful validation. Do not invent a weak alternative.
19
+ 4. Ask only consequential questions, in dependency order. Group independent
20
+ choices into one small round. If an authorized reversible default works,
21
+ state it and proceed.
22
+ 5. Record a settled choice once in the existing conversation or task context.
23
+ A discussion decision is knowledge; never fabricate a native permission
24
+ receipt or reopen it without new evidence.
25
+ 6. Create durable documentation only when requested or when the decision needs
26
+ a future reader. Brainstorming alone does not require a spec.
27
+
28
+ Say directly when evidence shows a proposal is weak, overcomplicated, or solves
29
+ the wrong problem. Raise a counter-case only when it adds a real constraint.
47
30
 
48
31
  ## Guardrails
49
32
 
50
33
  - Do not create a universal spec, plan, approval chain, or second lifecycle.
51
- - Unknowns that affect the dependent action remain unresolved until evidence or a
52
- user decision closes them.
53
- - Use the shared operations for state and provenance; never write task metadata
54
- directly.
55
- - An in-session counter-case is never fresh-context review; claim only what it is.
34
+ - Unknowns that affect an action remain unresolved until evidence or a user
35
+ decision closes them.
36
+ - Use shared operations for tracked state and provenance; never write task
37
+ metadata directly.
38
+ - An in-session counter-case is not fresh-context review.
56
39
 
57
40
  ## Common mistakes
58
41
 
59
42
  | Mistake | Correction |
60
43
  | --- | --- |
61
- | Asking what the code or docs already answer | Ground first; the user owns choices, not lookups. |
62
- | Listing every hypothetical objection | One strongest counter-case, then stop. |
63
- | Asking "what do you think?" without a recommendation | Recommend an option and explain the tradeoff. |
64
- | Leaving a settled choice for close to confirm | Funnel it when it resolves; progress plus reassessment if no receipt. |
44
+ | Asking what code or docs already answer | Ground first; the user owns choices, not lookups. |
45
+ | Listing every hypothetical objection | Raise only objections that can change the decision. |
46
+ | Asking for agreement without a recommendation | Recommend an option and explain the tradeoff. |
47
+ | Treating a discussion decision as permission | Record it as knowledge; preserve native host authority. |
@@ -9,11 +9,6 @@ Debugging is investigation, not a fast symptom patch. Use this method when
9
9
  assessment selects `root-cause-investigation` or behavior is failing without an
10
10
  established root cause.
11
11
 
12
- ## Before method work
13
-
14
- If there is no active or paused task, run shared `task.start` then `policy.assess`
15
- before relying on selected policy rules or other product mutations. Assessment
16
- selects requirements; do not wait for a rule that can only exist after assess.
17
12
 
18
13
  ## Method
19
14
 
@@ -29,28 +24,11 @@ selects requirements; do not wait for a rule that can only exist after assess.
29
24
  candidate, evidence, and findings after the change; investigate sibling paths
30
25
  and stale conclusions rather than assuming the first patch worked.
31
26
 
32
- Honor task status, scope, revisions, and native authority gates. Do not bypass
33
- them for an incident, create a second lifecycle, or claim a fix from a green
34
- command that did not exercise the affected behavior.
35
-
36
- ## Red-capable gate
37
-
38
- Never hypothesize without a loop that goes red on this exact failure. Build
39
- the loop first, in this order: failing test → CLI command + fixture →
40
- request replay → trace. Tighten it until fast, sharp, deterministic, and
41
- agent-runnable. No loop → stop, list what was tried, ask for the
42
- environment or artifact; never theorize without it.
43
-
44
- Minimise: cut one element at a time until every remainder is load-bearing;
45
- the minimised case becomes the regression test. State hypotheses ranked and
46
- falsifiable (`If <X> then changing <Y> removes it`), probe one variable at
47
- a time, tag debug logs for grep cleanup. Write the regression at the seam
48
- where the real pattern occurs — no correct seam means the finding is the
49
- architecture, so flag it instead of patching around it.
50
-
51
- When the host reports writer capability unavailable, do not mutate or delegate
52
- mutation. Continue inline only if policy and lead authority permit it;
53
- otherwise report the capability gap.
27
+ Respect the user's scope and native authority. For a deterministic failure, make
28
+ one focused reproduction that exercises the affected boundary and add a
29
+ regression check when practical. If no direct reproduction exists, gather the
30
+ available evidence and state what remains uncertain instead of inventing a red
31
+ loop or blocking unrelated work.
54
32
 
55
33
  ## Common mistakes
56
34
 
@@ -8,11 +8,6 @@ description: Use before opening a PR or after implementation to remove AI slop f
8
8
  Throughput without quality is slop. Clean it with a minimal diff — deslop
9
9
  never refactors behavior.
10
10
 
11
- ## Before method work
12
-
13
- If there is no active or paused task, run shared `task.start` then `policy.assess`
14
- before relying on selected policy rules or other product mutations. Assessment
15
- selects requirements; do not wait for a rule that can only exist after assess.
16
11
 
17
12
  ## Method
18
13
 
@@ -8,11 +8,6 @@ description: Use when a spec or plan needs a flow or architecture diagram
8
8
  Tables first, ASCII trees second, mermaid only when a flow or architecture
9
9
  needs it. Flowchart, sequence, state, or ER only. No renderer, no network.
10
10
 
11
- ## Before method work
12
-
13
- If there is no active or paused task, run shared `task.start` then `policy.assess`
14
- before relying on selected policy rules or other product mutations. Assessment
15
- selects requirements; do not wait for a rule that can only exist after assess.
16
11
 
17
12
  ## Syntax rules (mermaid v11)
18
13
 
@@ -8,11 +8,6 @@ description: Use to drive a red CI pipeline back to green, usually inside babysi
8
8
  Watch, classify, fix, push once, re-verify. Host-native (`gh` / GitLab);
9
9
  never invent CI APIs.
10
10
 
11
- ## Before method work
12
-
13
- If there is no active or paused task, run shared `task.start` then `policy.assess`
14
- before relying on selected policy rules or other product mutations. Assessment
15
- selects requirements; do not wait for a rule that can only exist after assess.
16
11
 
17
12
  ## Method
18
13
 
@@ -5,14 +5,8 @@ description: Use when work must continue in another session, host, or agent afte
5
5
 
6
6
  # Handoff durable task state
7
7
 
8
- Transfer continuity, not live authority. Use this method when assessment selects
9
- the `durable-handoff` rule.
10
-
11
- ## Before method work
12
-
13
- If there is no active or paused task, run shared `task.start` then `policy.assess`
14
- before relying on selected policy rules or other product mutations. Assessment
15
- selects requirements; do not wait for a rule that can only exist after assess.
8
+ Transfer continuity, not live authority. Use this method when a tracked item
9
+ must continue in another session, host, or agent.
16
10
 
17
11
  ## Method
18
12
 
@@ -1,41 +1,35 @@
1
1
  ---
2
2
  name: workit-implement
3
- description: Use when scoped implementation, helper delegation, or checkout writer coordination is required by the current task policy
3
+ description: Use when implementation benefits from bounded delegation or shared checkout coordination
4
4
  ---
5
5
 
6
6
  # Implement within authority
7
7
 
8
- Implement only inside the current task scope and writer boundary. Assignment is
9
- not launch authority, and a timeout is not proof that a worker stopped.
10
-
11
- ## Before method work
12
-
13
- If there is no active or paused task, run shared `task.start` then `policy.assess`
14
- before relying on selected policy rules or other product mutations. Assessment
15
- selects requirements; do not wait for a rule that can only exist after assess.
8
+ Implement within the user request and native host permissions. A task record and
9
+ writer ownership are optional coordination tools. Assignment never expands the
10
+ request, and a timeout is not proof that a worker stopped.
16
11
 
17
12
  ## Method
18
13
 
19
- 1. Inspect task state, requirements, decisions, candidate, capabilities, and
20
- current workers with shared `task`, `policy`, and `worker` operations.
14
+ 1. Inspect the repository, relevant rules, host capabilities, and current work.
15
+ Inspect task state only when this work is already tracked.
21
16
  2. If a helper is useful, assign one bounded objective with allowed paths,
22
17
  applicable requirements, evidence needed, and a stopping condition. Helpers
23
18
  cannot change scope, record binding decisions, close or pause the task, assign
24
19
  helpers, or resolve blockers for the lead.
25
- 3. Observe the native session and worker state. Acquire checkout writer ownership
26
- through `writer` before any product-mutating command; release it explicitly.
27
- Cancellation remains uncertain until process exit or explicit recovery.
28
- 4. Reconcile the helper report and evidence through shared operations. If required
29
- delegation is unavailable, continue inline only when policy allows it and state
30
- the capability limitation.
20
+ 3. Use writer ownership only when another Workit actor may mutate the same
21
+ checkout; release it when coordination ends. Cancellation remains uncertain
22
+ until process exit or explicit recovery.
23
+ 4. Reconcile helper reports and run the checks appropriate to the requested
24
+ outcome. If delegation is unavailable, continue inline when useful.
31
25
 
32
26
  Do not edit Workit metadata directly, create nested helper trees, widen paths, or
33
27
  create a second lifecycle. Read-only investigation and bounded reports do not
34
28
  grant product-write ownership.
35
29
 
36
- When the host reports writer capability unavailable, do not mutate or delegate
37
- mutation. Continue inline only if policy and lead authority permit it;
38
- otherwise report the capability gap.
30
+ Do not request writer ownership for a solo edit. If a concurrent Workit writer
31
+ cannot be fenced, stop only the conflicting managed writes; ordinary writes still
32
+ follow the native host permission and sandbox.
39
33
 
40
34
  ## Common mistakes
41
35
 
@@ -8,11 +8,6 @@ description: Use when a UI decision needs sketching before implementation
8
8
  Sketch, don't build. Three genuinely different layout hypotheses maximum,
9
9
  ASCII only, no code output.
10
10
 
11
- ## Before method work
12
-
13
- If there is no active or paused task, run shared `task.start` then `policy.assess`
14
- before relying on selected policy rules or other product mutations. Assessment
15
- selects requirements; do not wait for a rule that can only exist after assess.
16
11
 
17
12
  ## Method
18
13
 
@@ -5,74 +5,41 @@ description: Use when dependencies, sequencing, coordination, or resumption make
5
5
 
6
6
  # Plan useful coordination
7
7
 
8
- Use a compact plan when assessment selects `artifacts` or `continuity`. A plan
9
- organizes work; it is not a second lifecycle or a prerequisite for implementation.
10
-
11
- ## Before method work
12
-
13
- If there is no active or paused task, run shared `task.start` then `policy.assess`
14
- before relying on selected policy rules or other product mutations. Assessment
15
- selects requirements; do not wait for a rule that can only exist after assess.
8
+ A plan is useful when work has dependent steps, a handoff, concurrent actors, or
9
+ meaningful unresolved choices. It is never a prerequisite for implementation.
16
10
 
17
11
  ## Method
18
12
 
19
- 1. Inspect current task state, scope, decisions, requirements, candidate, workers,
20
- findings, and blockers through the shared `task` and `policy` operations.
21
- 2. Record only the useful sequence: objective, dependency, bounded task, evidence
22
- needed, owner, and next action. Keep the plan against the existing system.
23
- 3. If policy separately requires a durable specification, record that behavior
24
- agreement; otherwise do not invent a spec. A plan without a spec is valid.
25
- 4. Present before asking: show durable artifacts as a complete digest plus the
26
- exact path and inline plans as their content. Never ask the user to approve
27
- something they have not seen, and keep the question to one short scoped
28
- sentence.
29
- 5. Execute an approved plan continuously: one atomic commit per task after its
30
- checks pass, no "continue?" prompts. Stop only for a new product decision, a
31
- failed safety or verification gate, a conflicting concurrent edit, or missing
32
- authority.
33
- 6. Record the plan's commit list once through the plan-scoped action approval
34
- (`git.commit` with `plan_steps` and `plan_branch`) so each listed commit runs
35
- without a new question; an unlisted message, a branch change, or any change to
36
- the plan needs a fresh exact approval.
37
- 7. Update the shared task progress at meaningful boundaries. Reassess when facts,
38
- dependencies, or scope change; preserve unresolved blockers and decisions.
39
- 8. On steering (new instructions mid-task): apply `workit-steer` — park state
40
- verbatim, classify same-task / new-task / quick-question, handle, re-anchor.
41
-
42
- Use shared task/progress and evidence operations. Do not create a universal
43
- spec-and-plan ceremony, duplicate task state, approval chain, or custom status
44
- machine. A short paragraph is enough when it captures the required continuity.
45
-
46
- ## Triage (automatic)
47
-
48
- Set assessor signals from size facts, not memory (`triageTier` /
49
- `triageSignals` in policy-resolver):
50
-
51
- - **Large → spec + full plan:** new/changed observable behavior, open
52
- ambiguity, cross-package/host contract or auth/data/security surface,
53
- irreversible migration, or ≥3 subsystems / ≥2 packages touched.
54
- - **Medium → compact plan-only** (Sequence/Acceptance, ~30-60 lines): known
55
- approach, single subsystem, 2-8 steps. Step count alone never escalates
56
- a known single-subsystem run to spec.
57
- - **Small → neither** (progress + evidence only): single bounded mechanical
58
- action, no open choices, reversible. Record `Spec: none (reason)`.
59
-
60
- `task.start` + `policy.assess` stay mandatory at all sizes. The lead may
61
- re-tier with the reason recorded in progress (override, never silent).
62
-
63
- ## Decomposition
64
-
65
- Slice tracer bullets, not layers: each plan task crosses the necessary
66
- layers to a small demoable behavior with its blocking edges declared.
67
- Wide refactors use expand–contract (add the new seam, migrate callers,
68
- delete the old). Per task record Files (create/modify/test, exact paths),
69
- exact commands with expected output, and one commit. No placeholders —
70
- an implementer must be able to execute a task with zero extra context.
13
+ 1. Establish the requested outcome, constraints, dependencies, and important
14
+ unknowns from the available code, docs, and configuration before asking.
15
+ 2. Record only the useful sequence: objective, dependency, bounded outcome,
16
+ evidence needed, and next action. Reuse the project's existing format.
17
+ 3. Start a tracked record only when handoff, dependent steps, coordination, or
18
+ durable decisions need continuity. Infer observable facts instead of asking
19
+ the user to fill redundant protocol fields.
20
+ 4. Create a spec when a durable behavior contract or interface is requested or
21
+ will help a future reader. Use an ADR for a consequential trade-off and a
22
+ glossary for stable terms. A small fix needs no document.
23
+ 5. If the user authorized implementation, proceed through the agreed endpoint
24
+ and applicable checks. Do not ask for a separate plan approval or repeat
25
+ "continue?". Stop for a new consequential choice, host denial, conflict, or
26
+ blocker that cannot be resolved safely.
27
+ 6. Update a checkpoint at meaningful boundaries when another session may need
28
+ to resume. Keep settled decisions, changed files, actual checks, blockers,
29
+ and the next action; omit transcript and process trivia.
30
+
31
+ ## Shape
32
+
33
+ Plan slices as small end-to-end outcomes with explicit dependencies and checks.
34
+ Keep repo policy and native host authority separate. Preserve the user's branch
35
+ and commit conventions. Do not prescribe one commit per step or create a second
36
+ approval chain unless the user asked for that delivery format.
71
37
 
72
38
  ## Common mistakes
73
39
 
74
40
  | Mistake | Correction |
75
41
  | --- | --- |
76
- | Writing a full packet for a small dependency | Capture the next bounded action and its evidence. |
77
- | Treating the plan as authority | Authority remains in task scope, decisions, revisions, and caller provenance. |
78
- | Copying a transcript into the plan | Preserve decisions, gaps, blockers, and next action only. |
42
+ | Writing a packet for a bounded reversible change | Leave the change undocumented. |
43
+ | Asking what repository state or code can answer | Inspect it first. |
44
+ | Treating the plan as authority | Follow the user's scope and native host permissions. |
45
+ | Copying a transcript into the plan | Keep decisions, evidence, gaps, and next action only. |
@@ -8,11 +8,6 @@ description: Use when policy requires fresh-context review of a candidate or whe
8
8
  Review the real candidate in a stable context. A review is evidence about the
9
9
  current candidate, not an author's success summary.
10
10
 
11
- ## Before method work
12
-
13
- If there is no active or paused task, run shared `task.start` then `policy.assess`
14
- before relying on selected policy rules or other product mutations. Assessment
15
- selects requirements; do not wait for a rule that can only exist after assess.
16
11
 
17
12
  ## Method
18
13
 
@@ -1,35 +1,35 @@
1
1
  ---
2
2
  name: workit-steer
3
- description: Use when new instructions, interruptions, or forgotten items arrive mid-task
3
+ description: Use when new instructions, interruptions, or forgotten items change substantial ongoing work
4
4
  ---
5
5
 
6
- # Steer without losing the thread
6
+ # Steer without forced lifecycle
7
7
 
8
- New context mid-session is normal; losing the thread is not. Park,
9
- classify, handle, re-anchor — every time.
10
-
11
- ## Before method work
12
-
13
- If there is no active or paused task, run shared `task.start` then `policy.assess`
14
- before relying on selected policy rules or other product mutations. Assessment
15
- selects requirements; do not wait for a rule that can only exist after assess.
8
+ Classify new input as a quick question, a same-task adjustment, or a separate
9
+ request. Preserve continuity when it helps; do not manufacture task mutations.
16
10
 
17
11
  ## Method
18
12
 
19
- 1. Park current state to task progress verbatim: summary, nextAction,
20
- blockers. Never trust memory across an interruption.
21
- 2. Classify the steering:
22
- - same-task: fold into scope (reassess if facts changed), continue.
23
- - new-task: `task.pause` the parked lead task, then `task.start` +
24
- `policy.assess` for the new one. Keep exactly one active lead per
25
- session: external actions bind to that single active task, and a second
26
- active lead makes writer authority ambiguous.
27
- - quick-question: answer from the parked state, then resume.
28
- 3. Handle it with the same rigor as the parked work (no drive-by edits).
29
- 4. Re-anchor: one-line resume brief (where we were, what changed, what
30
- is next), then `task.resume` the parked task before touching it again.
31
-
32
- ## Completion
33
-
34
- Both the steering and the parked work have an owner, a next action, and
35
- no silent drops. Interrupted work resumes from the brief, not from recall.
13
+ 1. Answer a quick question from current context. Do not pause, resume, create,
14
+ assess, or close a task just to answer it.
15
+ 2. For a same-task adjustment, update only affected constraints and next actions.
16
+ Keep an existing checkpoint when it helps; reassess policy only when evidence
17
+ or constraints changed enough to affect a rule.
18
+ 3. For a separate request, do not silently resume an old objective. Park a
19
+ concise checkpoint only when substantial work needs to continue later. Start
20
+ a distinct tracked record only if the new work benefits from continuity,
21
+ dependencies, coordination, or durable decisions.
22
+ 4. Before resuming a named tracked task, reconcile its checkout, branch, dirty
23
+ state, current policy, stale evidence, uncertain effects, and ownership. Do
24
+ not change branches, stash, fetch large histories, or seize ownership just
25
+ to display a history choice.
26
+ 5. Continue to the user's authorized endpoint with applicable checks. Ask only
27
+ about consequential choices the code and available context cannot resolve.
28
+
29
+ ## Common mistakes
30
+
31
+ | Mistake | Correction |
32
+ | --- | --- |
33
+ | Treating a quick question as interruption | Answer without changing task state. |
34
+ | Auto-resuming an old objective | Wait for the user's direction to resume it. |
35
+ | Rebuilding continuity from a transcript | Keep a compact checkpoint with evidence and next action. |