@brainervirus/workit-cursor 4.0.0 → 5.0.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/.cursor-plugin/plugin.json +1 -1
- package/README.md +4 -4
- package/commands/wk-bdd.md +1 -3
- package/commands/wk-continue.md +5 -0
- package/commands/wk-debug.md +1 -3
- package/commands/wk-deslop.md +1 -3
- package/commands/wk-fanout.md +5 -0
- package/commands/wk-implement.md +1 -3
- package/commands/wk-review.md +1 -3
- package/commands/wk-shape.md +5 -0
- package/commands/wk-ship.md +5 -0
- package/commands/wk-test-audit.md +1 -3
- package/commands/wk-verify-app.md +5 -0
- package/dist/cursor-session-start.js +75 -95
- package/dist/mcp-server.js +6 -5
- package/dist/workit-hook.js +76 -95
- package/package.json +3 -3
- package/rules/workit-contract.mdc +12 -3
- package/skills/workit-bdd/SKILL.md +35 -29
- package/skills/workit-continue/SKILL.md +53 -0
- package/skills/workit-debug/SKILL.md +41 -36
- package/skills/workit-deslop/SKILL.md +35 -25
- package/skills/workit-fanout/SKILL.md +62 -0
- package/skills/workit-fanout/references/brief.md +56 -0
- package/skills/workit-implement/SKILL.md +48 -44
- package/skills/workit-review/SKILL.md +42 -51
- package/skills/workit-review/references/impact.md +24 -0
- package/skills/workit-shape/SKILL.md +71 -0
- package/skills/workit-shape/references/diagrams.md +17 -0
- package/skills/workit-shape/references/knowledge.md +58 -0
- package/skills/workit-shape/references/mockups.md +15 -0
- package/skills/workit-shape/references/slicing.md +42 -0
- package/skills/workit-ship/SKILL.md +52 -0
- package/skills/workit-test-audit/SKILL.md +10 -2
- package/skills/workit-verify-app/SKILL.md +63 -0
- package/skills/workit-verify-app/references/template.md +49 -0
- package/commands/wk-babysit.md +0 -7
- package/commands/wk-blast-radius.md +0 -7
- package/commands/wk-challenge.md +0 -7
- package/commands/wk-diagram.md +0 -7
- package/commands/wk-green-run.md +0 -7
- package/commands/wk-handoff.md +0 -7
- package/commands/wk-mockup.md +0 -7
- package/commands/wk-plan.md +0 -7
- package/commands/wk-steer.md +0 -7
- package/commands/wk-tdd.md +0 -7
- package/skills/workit-babysit/SKILL.md +0 -37
- package/skills/workit-behavioral-tdd/SKILL.md +0 -56
- package/skills/workit-blast-radius/SKILL.md +0 -26
- package/skills/workit-challenge/SKILL.md +0 -47
- package/skills/workit-diagram/SKILL.md +0 -27
- package/skills/workit-green-run/SKILL.md +0 -24
- package/skills/workit-handoff/SKILL.md +0 -37
- package/skills/workit-mockup/SKILL.md +0 -23
- package/skills/workit-plan/SKILL.md +0 -45
- package/skills/workit-steer/SKILL.md +0 -39
package/README.md
CHANGED
|
@@ -47,7 +47,7 @@ npx @brainervirus/workit-cli init
|
|
|
47
47
|
|
|
48
48
|
- MCP server exposing exactly the eight shared operation families: `workit_task`, `workit_policy`, `workit_evidence`, `workit_finding`, `workit_decision`, `workit_worker`, `workit_writer`, and `workit_state`.
|
|
49
49
|
- One bounded native hook executable for session context, recognized product-write and shell interception, and native subagent lifecycle observations.
|
|
50
|
-
-
|
|
50
|
+
- Eleven canonical `workit-*` method skills and the `workit-contract` rule.
|
|
51
51
|
|
|
52
52
|
## Host limitations
|
|
53
53
|
|
|
@@ -59,7 +59,7 @@ Cursor maps shared Workit operations through the shared MCP transport. AskQuesti
|
|
|
59
59
|
- MCP server: `mcp.json`.
|
|
60
60
|
- Session-start hook: `hooks/hooks-cursor.json`.
|
|
61
61
|
- Rule: `rules/workit-contract.mdc`.
|
|
62
|
-
- Skills: `skills/` (
|
|
62
|
+
- Skills: `skills/` (eleven canonical Workit methods).
|
|
63
63
|
|
|
64
64
|
## Runtime
|
|
65
65
|
|
|
@@ -83,13 +83,13 @@ The runtime runs from `@latest` with `--prefer-online` and `--min-release-age=0`
|
|
|
83
83
|
| `mcp/` + `dist/mcp-server.js` | MCP server entry (built). |
|
|
84
84
|
| `hooks/` | session-start hook manifest. |
|
|
85
85
|
| `rules/workit-contract.mdc` | Adaptive task contract and truthful Cursor capability limits. |
|
|
86
|
-
| `skills/` |
|
|
86
|
+
| `skills/` | Eleven canonical adaptive Workit method skills. |
|
|
87
87
|
| `.cursor-plugin/plugin.json` | authoritative plugin manifest. |
|
|
88
88
|
|
|
89
89
|
## Package scripts
|
|
90
90
|
|
|
91
91
|
```bash
|
|
92
|
-
bun run build # bundle MCP + native hook entries and copy
|
|
92
|
+
bun run build # bundle MCP + native hook entries and copy eleven method skills
|
|
93
93
|
```
|
|
94
94
|
|
|
95
95
|
From the repository root, `bun run validate:cursor-marketplace` validates the tracked Marketplace artifact against the official Cursor JSON schemas and clean-checkout invariants (component paths, frontmatter, logo, sanitized vendor parity, no ignored-`dist` runtime references).
|
package/commands/wk-bdd.md
CHANGED
|
@@ -1,7 +1,5 @@
|
|
|
1
1
|
# /wk-bdd
|
|
2
2
|
|
|
3
|
-
Load and apply the bundled `workit-bdd` skill
|
|
4
|
-
|
|
5
|
-
Write scenarios first, test at the highest agreed seam, run each slice RED then GREEN with `workit check test` (workit-behavioral-tdd), mock only at system boundaries, and take expected values from the scenario.
|
|
3
|
+
Load and apply the bundled `workit-bdd` skill. Turn requirements into Given/When/Then scenarios, agree the test seam, and work test-first in vertical RED/GREEN slices. Use for BDD, TDD, acceptance criteria, scenarios, Given/When/Then, write a test first.
|
|
6
4
|
|
|
7
5
|
Extra context: $ARGUMENTS
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
# /wk-continue
|
|
2
|
+
|
|
3
|
+
Load and apply the bundled `workit-continue` skill. Keep work on track across interruptions and sessions - sort new input, checkpoint, hand off with a resume brief, and pick up by verifying inherited claims. Use for resume, pick up, handoff, new session, interruption, change of direction.
|
|
4
|
+
|
|
5
|
+
Extra context: $ARGUMENTS
|
package/commands/wk-debug.md
CHANGED
|
@@ -1,7 +1,5 @@
|
|
|
1
1
|
# /wk-debug
|
|
2
2
|
|
|
3
|
-
Load and apply the bundled `workit-debug` skill
|
|
4
|
-
|
|
5
|
-
Build a loop that goes red on the exact failure before hypothesizing, trace to the root cause, fix at the shared root, and leave a regression test at the seam.
|
|
3
|
+
Load and apply the bundled `workit-debug` skill. Find a root cause before patching - start from a red-capable deterministic repro, rank hypotheses, bisect regressions, fix at the root with a regression test. Use for bug, broken, failing, flaky, regression, error, why does.
|
|
6
4
|
|
|
7
5
|
Extra context: $ARGUMENTS
|
package/commands/wk-deslop.md
CHANGED
|
@@ -1,7 +1,5 @@
|
|
|
1
1
|
# /wk-deslop
|
|
2
2
|
|
|
3
|
-
Load and apply the bundled `workit-deslop` skill before
|
|
4
|
-
|
|
5
|
-
Remove AI slop from code and prose with a minimal diff: delete dead weight and filler, keep real symbol names and numbers, never refactor behavior.
|
|
3
|
+
Load and apply the bundled `workit-deslop` skill. Remove AI slop before a PR - dead code, comments that restate the code, filler prose - with a minimal diff and identical behavior. Use for deslop, clean up, slop, tidy before PR, remove dead code, trim the PR body.
|
|
6
4
|
|
|
7
5
|
Extra context: $ARGUMENTS
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
# /wk-fanout
|
|
2
|
+
|
|
3
|
+
Load and apply the bundled `workit-fanout` skill. Run independent slices in parallel - one worker per isolated worktree with a fixed brief and file-scope manifest, a non-author verifier per slice, results in the ledger. Use for fan out, parallelize, parallel agents, split the work, delegate, swarm.
|
|
4
|
+
|
|
5
|
+
Extra context: $ARGUMENTS
|
package/commands/wk-implement.md
CHANGED
|
@@ -1,7 +1,5 @@
|
|
|
1
1
|
# /wk-implement
|
|
2
2
|
|
|
3
|
-
Load and apply the bundled `workit-implement` skill to
|
|
4
|
-
|
|
5
|
-
Implement the smallest change behind the agreed scope, verify behavior with the relevant checks, and reconcile task state, evidence, and findings when done.
|
|
3
|
+
Load and apply the bundled `workit-implement` skill. Build a requested change in small verified steps - follow local patterns, run real checks with workit check, prove it on the running app, hand verification to a non-author. Use for implement, build, add a feature, make the change, code it.
|
|
6
4
|
|
|
7
5
|
Extra context: $ARGUMENTS
|
package/commands/wk-review.md
CHANGED
|
@@ -1,7 +1,5 @@
|
|
|
1
1
|
# /wk-review
|
|
2
2
|
|
|
3
|
-
Load and apply the bundled `workit-review` skill
|
|
4
|
-
|
|
5
|
-
Review the real diff on two axes (standards + spec fidelity) with proof-required findings, then fix, dismiss with evidence, or escalate — never relabel self-review as independent.
|
|
3
|
+
Load and apply the bundled `workit-review` skill. Independent review of a diff, branch or PR - intent fidelity and standards as separate axes, test quality, blast radius - recorded as a non-author verdict. Use for review, code review, check this PR or MR, is this safe, blast radius.
|
|
6
4
|
|
|
7
5
|
Extra context: $ARGUMENTS
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
# /wk-shape
|
|
2
|
+
|
|
3
|
+
Load and apply the bundled `workit-shape` skill. Shape work before building - brainstorm, grill open choices with a recommended answer, challenge weak premises, slice into PRs, propose a spec/ADR only when it pays. Use for brainstorm, plan, spec, design, options, should we, grill me.
|
|
4
|
+
|
|
5
|
+
Extra context: $ARGUMENTS
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
# /wk-ship
|
|
2
|
+
|
|
3
|
+
Load and apply the bundled `workit-ship` skill. Drive pushed work to its endpoint - open or stack PRs, fix red CI, answer PR threads, land verified PRs when granted. Use for ship, open a PR, babysit, CI failing, checks red, address comments, stack, merge, land.
|
|
4
|
+
|
|
5
|
+
Extra context: $ARGUMENTS
|
|
@@ -1,7 +1,5 @@
|
|
|
1
1
|
# /wk-test-audit
|
|
2
2
|
|
|
3
|
-
Load and apply the bundled `workit-test-audit` skill
|
|
4
|
-
|
|
5
|
-
Run `workit test-audit`, triage each finding with "Name the Break" (replace with an independent oracle proven on a planted bug, keep with a reason, or remove only assertion-free/duplicate tests), check with `workit test-audit --mutate --diff`, and finish with `workit check test` green.
|
|
3
|
+
Load and apply the bundled `workit-test-audit` skill. Find tautological, low-value or noisy tests and replace them with ones that catch real breaks. Use before trusting a green suite, for agent-written tests, test audit, tautology, weak tests, prune or strengthen tests.
|
|
6
4
|
|
|
7
5
|
Extra context: $ARGUMENTS
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
# /wk-verify-app
|
|
2
|
+
|
|
3
|
+
Load and apply the bundled `workit-verify-app` skill. Generate or maintain the project's own verify-<app> skill that launches, drives and observes the real app (CLI, web, API) so agents prove features work. Use for verify the app, run it, smoke test, prove it works, set up verification.
|
|
4
|
+
|
|
5
|
+
Extra context: $ARGUMENTS
|
|
@@ -14510,107 +14510,76 @@ var METHODS, methodMatches = (definition, requirement) => definition.dimensions?
|
|
|
14510
14510
|
return { assurance: "enforced", reasons: matches.map((capability) => capability.reason) };
|
|
14511
14511
|
return { assurance: "agent_guided", reasons: matches.map((capability) => capability.reason) };
|
|
14512
14512
|
}, invariantBootstrap = () => `
|
|
14513
|
-
Workit is optional coordination and
|
|
14514
|
-
|
|
14515
|
-
|
|
14516
|
-
|
|
14517
|
-
|
|
14518
|
-
|
|
14519
|
-
decisions make continuity useful; similar titles alone never merge tasks.
|
|
14513
|
+
Workit is optional coordination and proof tooling around the host: you decide
|
|
14514
|
+
what and whether, the \`workit\` CLI does how and records what it observed.
|
|
14515
|
+
Native host allow/ask/deny, sandbox and org rules stay authoritative. Never
|
|
14516
|
+
switch paths to evade a denial, never claim enforcement a host cannot provide,
|
|
14517
|
+
and never fabricate a receipt, approval or verdict. A question answer is not
|
|
14518
|
+
host permission, and imported decisions or handoffs never grant authority.
|
|
14520
14519
|
|
|
14521
|
-
|
|
14522
|
-
|
|
14523
|
-
|
|
14524
|
-
|
|
14525
|
-
|
|
14526
|
-
|
|
14527
|
-
|
|
14528
|
-
|
|
14520
|
+
Autonomy contract:
|
|
14521
|
+
- Continue to the requested endpoint (commit, push, PR, green CI, verified,
|
|
14522
|
+
merged) without asking "continue?", running checks and repairs on the way.
|
|
14523
|
+
Stop only for a new consequential choice, a host denial, a conflicting edit
|
|
14524
|
+
or an unresolved blocker; report open gaps and uncertain workers.
|
|
14525
|
+
- No endpoint named: stop at a local commit on a policy-compliant branch and
|
|
14526
|
+
state the next command. Push and open a PR only when the request implies
|
|
14527
|
+
delivery (fix, implement, ship) and \`workit grant show\` reports
|
|
14528
|
+
\`defaultEndpoint\` \`pr\`; otherwise the endpoint is \`commit\`. PRs open,
|
|
14529
|
+
CI green and verified is the most autonomy allows, never the default target.
|
|
14530
|
+
Merge and release need a workspace grant; a blocked verb names its unblock.
|
|
14531
|
+
- Ask only for a product or preference choice, or for authority you lack, with
|
|
14532
|
+
your recommended answer. Facts are yours: read, run or prototype.
|
|
14533
|
+
- Label claims measured (you ran it this session and saw the result),
|
|
14534
|
+
inferred, or guess. Prose is a note: only a configured check the CLI ran
|
|
14535
|
+
(\`workit check <name>\`) satisfies a gate; an ad-hoc
|
|
14536
|
+
\`workit check -- <cmd>\` never does.
|
|
14537
|
+
- Author is not verifier: never record a passing verdict on work your session
|
|
14538
|
+
wrote. The lead starts each verifier with its own session
|
|
14539
|
+
(\`WORKIT_SESSION_ID=<lead>-v<n>\`; Claude Code subagents get one from the
|
|
14540
|
+
hook), and the verifier records \`workit ledger verdict\`.
|
|
14541
|
+
- A local-commit endpoint does not imply PR readiness, and a local commit alone
|
|
14542
|
+
is not evidence of a requested remote push. Before reporting delivery,
|
|
14543
|
+
reconcile every requested item and observe it (\`workit verify-delivery\`).
|
|
14529
14544
|
|
|
14530
|
-
|
|
14531
|
-
|
|
14532
|
-
|
|
14533
|
-
|
|
14534
|
-
|
|
14535
|
-
|
|
14536
|
-
|
|
14537
|
-
|
|
14538
|
-
|
|
14539
|
-
|
|
14540
|
-
|
|
14541
|
-
|
|
14542
|
-
An omitted revision absorbs a concurrent write: Workit re-reads, re-checks
|
|
14543
|
-
policy, and reapplies the call, returning busy under persistent contention. A
|
|
14544
|
-
revision_conflict means a revision you passed is stale: re-read the record
|
|
14545
|
-
before deciding whether to retry.
|
|
14546
|
-
A solo edit does not need writer acquisition; use it when concurrent checkout
|
|
14547
|
-
writers need coordination. Record only observed facts and checks. Close-time
|
|
14548
|
-
testing and verification gates accept only a configured check the CLI ran:
|
|
14549
|
-
\`workit check <name>\` (\`npx -y @brainervirus/workit-cli check <name>\` when
|
|
14550
|
-
\`workit\` is not on PATH); a recorded check result is a note and an ad-hoc
|
|
14551
|
-
\`workit check -- <cmd>\` never satisfies a gate. Evidence can become stale when its bound candidate or tree changes; reconcile findings against the
|
|
14552
|
-
current candidate before recording completion.
|
|
14545
|
+
CLI first: if a step has one right answer, use the \`workit\` verb instead of
|
|
14546
|
+
hand-running git, gh or glab: check, git, pr, ci, stack, verify-delivery,
|
|
14547
|
+
ledger, handoff, test-audit (\`workit help <verb>\`; without \`workit\` on
|
|
14548
|
+
PATH, \`npx -y @brainervirus/workit-cli\`). \`busy\` is retryable
|
|
14549
|
+
(\`workit doctor --fix-lock\` clears a dead lock); \`blocked\` names its unblock.
|
|
14550
|
+
The task families (task, policy, evidence, finding, decision, worker, writer,
|
|
14551
|
+
state) are optional continuity for tracked work; each branch has one implicit
|
|
14552
|
+
task that the first recording creates, and a solo edit needs no task or writer.
|
|
14553
|
+
Omit revisions; a revision_conflict means one you passed is stale, so re-read.
|
|
14554
|
+
Across repositories, bind each item to its checkout, branch and endpoint,
|
|
14555
|
+
resolve competing targets before a mutation, and reconcile an uncertain
|
|
14556
|
+
external effect before retrying it.
|
|
14553
14557
|
|
|
14554
|
-
|
|
14555
|
-
|
|
14556
|
-
state. The task directory is coordination state, not a boundary on which
|
|
14557
|
-
repository may be changed. Use an action-time cwd target where a managed
|
|
14558
|
-
Git/hosting action supports it; a non-Git directory remains valid for OS work.
|
|
14559
|
-
GitHub/GitLab use the active gh/glab CLI identity; YouTrack uses its own token.
|
|
14560
|
-
Preserve uncertain external outcomes and reconcile repository/provider state
|
|
14561
|
-
before retrying. Internal reservations prevent duplicate or ambiguous effects;
|
|
14562
|
-
they are not permission tickets for every edit.
|
|
14558
|
+
Mid-task input: answer a quick question in place, fold an adjustment in, and
|
|
14559
|
+
never silently drop or resume an objective (workit-continue).
|
|
14563
14560
|
|
|
14564
|
-
|
|
14565
|
-
|
|
14566
|
-
|
|
14567
|
-
|
|
14568
|
-
|
|
14569
|
-
|
|
14570
|
-
|
|
14571
|
-
|
|
14572
|
-
|
|
14573
|
-
|
|
14574
|
-
|
|
14575
|
-
|
|
14576
|
-
evidence and a recommendation, then continue toward the requested delivery
|
|
14577
|
-
endpoint: investigation, implementation, branch/commit/push, PR/MR-ready,
|
|
14578
|
-
merge, or release. Run
|
|
14579
|
-
applicable checks and safe repairs without repeated continuation questions;
|
|
14580
|
-
stop for missing host authority, a new consequential choice, a conflicting edit,
|
|
14581
|
-
or an unresolved blocker. A tracked record may close when actual evidence
|
|
14582
|
-
supports its outcome; no final human closure ceremony is required.
|
|
14583
|
-
|
|
14584
|
-
A completed native subagent run stops its bound worker by itself; if a worker
|
|
14585
|
-
strands in cancelling with its run verifiably over, repeat worker.cancel to
|
|
14586
|
-
confirm the stop. Preserve unresolved requirements, gaps, and uncertain workers.
|
|
14587
|
-
When context changes, distinguish a quick question, same-task adjustment, and
|
|
14588
|
-
separate request. Answer a quick question without pausing/resuming task state;
|
|
14589
|
-
park a concise checkpoint only when substantial work needs to continue later.
|
|
14590
|
-
For work spanning repositories, bind each unfinished item to its actual checkout,
|
|
14591
|
-
branch, requested deliverables, and delivery endpoint. Preserve held items with
|
|
14592
|
-
an explicit resume condition. Resolve competing plausible targets before a
|
|
14593
|
-
mutation; ask only when available context cannot settle that consequential choice.
|
|
14594
|
-
Before reporting delivery, reconcile every requested item and observe the actual
|
|
14595
|
-
target result; a local commit alone is not evidence of a requested remote push.
|
|
14596
|
-
|
|
14597
|
-
Skill routing: slash aliases /wk-* load on demand. Use workit-steer for a
|
|
14598
|
-
substantial interruption or change of direction, workit-deslop when relevant
|
|
14599
|
-
to a PR-ready endpoint, workit-green-run for failing CI, workit-blast-radius
|
|
14600
|
-
when impact is uncertain, workit-challenge for genuinely open consequential
|
|
14601
|
-
choices, workit-bdd to turn acceptance criteria into Given/When/Then tests, and
|
|
14602
|
-
workit-test-audit to check tests for tautologies. Load workit-plan when dependencies or handoff need durable next actions.
|
|
14603
|
-
Load the skill; never act from memory of it.
|
|
14561
|
+
Skills: load the skill, never act from memory of it (slash aliases /wk-<name>).
|
|
14562
|
+
- brainstorm, plan, spec, grill, should we: workit-shape
|
|
14563
|
+
- implement, build, add a feature: workit-implement
|
|
14564
|
+
- review, blast radius: workit-review
|
|
14565
|
+
- bug, broken, flaky, regression: workit-debug
|
|
14566
|
+
- ship, babysit, CI, merge: workit-ship
|
|
14567
|
+
- resume, pick up, handoff, interruption: workit-continue
|
|
14568
|
+
- BDD, TDD, acceptance criteria, Given/When/Then: workit-bdd
|
|
14569
|
+
- test audit, tautology, weak tests: workit-test-audit
|
|
14570
|
+
- deslop, slop, dead code: workit-deslop
|
|
14571
|
+
- fan out, parallelize, parallel agents, swarm: workit-fanout
|
|
14572
|
+
- verify the app, smoke test, prove it works: workit-verify-app
|
|
14604
14573
|
`.trim();
|
|
14605
14574
|
var init_methods = __esm(() => {
|
|
14606
14575
|
METHODS = {
|
|
14607
|
-
"workit-
|
|
14608
|
-
"workit-
|
|
14576
|
+
"workit-shape": { dimensions: ["challenge", "decisions", "artifacts", "continuity"] },
|
|
14577
|
+
"workit-bdd": { dimensions: ["testing"] },
|
|
14609
14578
|
"workit-review": { dimensions: ["review"], ruleIds: ["fresh-context-review", "self-review"] },
|
|
14610
|
-
"workit-
|
|
14611
|
-
"workit-
|
|
14579
|
+
"workit-implement": { ruleIds: ["mechanical-existing-checks"] },
|
|
14580
|
+
"workit-fanout": { dimensions: ["delegation"] },
|
|
14612
14581
|
"workit-debug": {},
|
|
14613
|
-
"workit-
|
|
14582
|
+
"workit-continue": {},
|
|
14614
14583
|
"workit-deslop": { ruleIds: ["pre-pr-cleanup"] }
|
|
14615
14584
|
};
|
|
14616
14585
|
});
|
|
@@ -17116,7 +17085,10 @@ function handleHook(input, deps) {
|
|
|
17116
17085
|
case "shell.pre":
|
|
17117
17086
|
return usable2(descriptor.shellPolicy.deny) ? shellPolicy(input.cwd, event.command) : NONE2;
|
|
17118
17087
|
case "subagent.start":
|
|
17119
|
-
return {
|
|
17088
|
+
return {
|
|
17089
|
+
kind: "context",
|
|
17090
|
+
text: subagentStartText(input.host, input.session.id ?? null, descriptor, event)
|
|
17091
|
+
};
|
|
17120
17092
|
case "compact.pre":
|
|
17121
17093
|
return {
|
|
17122
17094
|
kind: "notice",
|
|
@@ -17130,7 +17102,14 @@ function handleHook(input, deps) {
|
|
|
17130
17102
|
return NONE2;
|
|
17131
17103
|
}
|
|
17132
17104
|
}
|
|
17133
|
-
var usable2 = (value) => value === "native" || value === "partial", NONE2, offered, CLAUDE_WORKTREE_IMPLEMENTER = "workit:implementer",
|
|
17105
|
+
var usable2 = (value) => value === "native" || value === "partial", NONE2, offered, CLAUDE_WORKTREE_IMPLEMENTER = "workit:implementer", CLAUDE_JUDGES, subagentSession = (session, agentId) => [session, agentId].filter((part) => Boolean(part)).join(":").replace(/[^A-Za-z0-9_.:@/+-]/g, "-").slice(0, 128), subagentStartText = (host, session, descriptor, event) => {
|
|
17106
|
+
if (host === "claude_code" && event.agentType === CLAUDE_WORKTREE_IMPLEMENTER)
|
|
17107
|
+
return `Workit observed ${descriptor.label} subagent ${event.agentId} (${event.agentType}) working in its own git worktree: it may edit and commit there, within its brief's scope. Before the first commit, switch to a policy-compliant branch with \`workit git branch <branch> --base <base>\` (e.g. feature/<slug>); branch policy hooks still deny protected or non-compliant branches. Never record a verdict on your own work. Never push, open a PR, or merge unless the brief asks for it.`;
|
|
17108
|
+
const readOnly = `Workit observed ${descriptor.label} subagent ${event.agentId} (${event.agentType}) as read-only/agent-guided; writer delegation is unavailable.`;
|
|
17109
|
+
if (host === "claude_code" && event.agentType && CLAUDE_JUDGES.has(event.agentType) && event.agentId)
|
|
17110
|
+
return `${readOnly} Its own Workit session is ${subagentSession(session, event.agentId)}: record verdicts with \`workit ledger verdict <result> --session ${subagentSession(session, event.agentId)} ...\` so the ledger tells it apart from the author.`;
|
|
17111
|
+
return readOnly;
|
|
17112
|
+
}, failureDecision = (descriptor, event, error) => {
|
|
17134
17113
|
if (event === "shell.pre" || event === "tool.pre")
|
|
17135
17114
|
return descriptor.shellPolicy.failClosed ? { kind: "deny", reason: error, unblock: null } : NONE2;
|
|
17136
17115
|
if (event === "session.start" || event === "subagent.start")
|
|
@@ -17163,6 +17142,7 @@ var init_handle = __esm(() => {
|
|
|
17163
17142
|
init_policy();
|
|
17164
17143
|
NONE2 = { kind: "none" };
|
|
17165
17144
|
offered = new Set;
|
|
17145
|
+
CLAUDE_JUDGES = new Set(["workit:verifier", "workit:reviewer"]);
|
|
17166
17146
|
});
|
|
17167
17147
|
|
|
17168
17148
|
// packages/workit-core/src/hooks/hosts/fields.ts
|
|
@@ -17671,7 +17651,7 @@ var init_codex = __esm(() => {
|
|
|
17671
17651
|
};
|
|
17672
17652
|
},
|
|
17673
17653
|
render: render2,
|
|
17674
|
-
addendum: (input) => `<workit-codex-mutations>Codex MCP is read-only: unattested callers cannot mutate. Run the workit CLI
|
|
17654
|
+
addendum: (input) => `<workit-codex-mutations>Codex MCP is read-only: unattested callers cannot mutate. Run workit verbs with the workit CLI on the shell (node_modules/.bin/workit, or npx -y @brainervirus/workit-cli): check, git branch|commit|push, pr, ci, stack, ledger, handoff; task-family mutations take --json --confirm${input.session.id ? `; bind the writer to this session with node_modules/.bin/workit writer acquire --task <id> --revision <rev> --actor ${input.session.id} --confirm` : ""}. A verifier or reviewer records workit ledger verdict under a session the lead assigns (WORKIT_SESSION_ID=<lead>-v<n>), never the author's. Merge and release need a workspace grant; a question answer is not host permission.</workit-codex-mutations>`
|
|
17675
17655
|
};
|
|
17676
17656
|
});
|
|
17677
17657
|
|
package/dist/mcp-server.js
CHANGED
|
@@ -23719,13 +23719,13 @@ function evaluateClosure(requestedOutcome, view) {
|
|
|
23719
23719
|
|
|
23720
23720
|
// packages/workit-core/src/core/methods.ts
|
|
23721
23721
|
var METHODS = {
|
|
23722
|
-
"workit-
|
|
23723
|
-
"workit-
|
|
23722
|
+
"workit-shape": { dimensions: ["challenge", "decisions", "artifacts", "continuity"] },
|
|
23723
|
+
"workit-bdd": { dimensions: ["testing"] },
|
|
23724
23724
|
"workit-review": { dimensions: ["review"], ruleIds: ["fresh-context-review", "self-review"] },
|
|
23725
|
-
"workit-
|
|
23726
|
-
"workit-
|
|
23725
|
+
"workit-implement": { ruleIds: ["mechanical-existing-checks"] },
|
|
23726
|
+
"workit-fanout": { dimensions: ["delegation"] },
|
|
23727
23727
|
"workit-debug": {},
|
|
23728
|
-
"workit-
|
|
23728
|
+
"workit-continue": {},
|
|
23729
23729
|
"workit-deslop": { ruleIds: ["pre-pr-cleanup"] }
|
|
23730
23730
|
};
|
|
23731
23731
|
var methodMatches = (definition, requirement) => definition.dimensions?.includes(requirement.dimension) === true || definition.ruleIds?.includes(requirement.ruleId) === true;
|
|
@@ -27991,6 +27991,7 @@ var signals = new Map;
|
|
|
27991
27991
|
var cache = new Map;
|
|
27992
27992
|
// packages/workit-core/src/hooks/handle.ts
|
|
27993
27993
|
var offered = new Set;
|
|
27994
|
+
var CLAUDE_JUDGES = new Set(["workit:verifier", "workit:reviewer"]);
|
|
27994
27995
|
// packages/workit-core/src/hooks/hosts/fields.ts
|
|
27995
27996
|
var SHELLS = new Set(["sh", "bash", "zsh", "dash", "pwsh", "powershell", "cmd"]);
|
|
27996
27997
|
|