@nidvue/teamwork 1.1.1 → 1.4.2

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.
Files changed (35) hide show
  1. package/CHANGELOG.md +368 -3
  2. package/README.md +80 -26
  3. package/package.json +1 -1
  4. package/skills/teamwork/AGENTS.md +57 -2
  5. package/skills/teamwork/SKILL.md +133 -27
  6. package/skills/teamwork/references/Adapters.md +4 -0
  7. package/skills/teamwork/references/Audit.md +3 -1
  8. package/skills/teamwork/references/Concurrency.md +22 -7
  9. package/skills/teamwork/references/Coordination.md +203 -0
  10. package/skills/teamwork/references/Dissent.md +10 -1
  11. package/skills/teamwork/references/Docs.md +3 -1
  12. package/skills/teamwork/references/Engineering.md +47 -8
  13. package/skills/teamwork/references/Evidence.md +18 -1
  14. package/skills/teamwork/references/Remotes.md +29 -8
  15. package/skills/teamwork/references/Roles.md +22 -4
  16. package/skills/teamwork/references/State.md +96 -12
  17. package/skills/teamwork/references/Testing.md +3 -1
  18. package/skills/teamwork/roles/ceo.md +50 -3
  19. package/skills/teamwork/roles/developer.md +8 -0
  20. package/skills/teamwork/roles/product-manager.md +4 -0
  21. package/skills/teamwork/roles/reviewer.md +97 -12
  22. package/skills/teamwork/scripts/check_release_consistency.py +1805 -0
  23. package/skills/teamwork/scripts/privacy_scan.py +196 -82
  24. package/skills/teamwork/src/teamwork/bundle.py +0 -7
  25. package/skills/teamwork/src/teamwork/config.py +53 -2
  26. package/skills/teamwork/src/teamwork/engine.py +2722 -428
  27. package/skills/teamwork/src/teamwork/gitutil.py +148 -10
  28. package/skills/teamwork/src/teamwork/harness.py +753 -0
  29. package/skills/teamwork/src/teamwork/hooks.py +400 -0
  30. package/skills/teamwork/src/teamwork/layout.py +10 -4
  31. package/skills/teamwork/src/teamwork/portable.py +6 -1
  32. package/skills/teamwork/src/teamwork/records.py +20 -0
  33. package/skills/teamwork/src/teamwork/resources.py +41 -7
  34. package/skills/teamwork/src/teamwork/version.py +1 -1
  35. package/skills/teamwork/templates/AGENTS.md +57 -2
@@ -16,11 +16,12 @@ like any other: it runs alongside the developer, tester and designer lanes.
16
16
  - **One claim per deliverable.** Take a deliverable off the queue before you
17
17
  review it: `review <owner> <T-id> --claim --by <you>`. The claim names you on
18
18
  the task and in the ledger, blocks another lane from taking the same item, and
19
- counts you as busy so the pulse stops dispatching you. It is a lease
20
- (`SlotTtlMinutes`, default 90 min): verdict with `--result pass|fail` or hand it
21
- back with `--release`, and if you die holding it the lease expires and another
22
- lane takes it over. Two verdicts on one item is duplicate work, not extra
23
- safety - never review what another Reviewer holds.
19
+ counts you as busy so the pulse stops dispatching you. It is a short work
20
+ lease (`ReviewLeaseMinutes`, default 20 min): verdict with `--result pass|fail`,
21
+ extend it with `--renew`, or hand it back with `--release`. If you die holding
22
+ it the lease expires and another lane takes it over - a 90-minute provider-slot
23
+ lease is not a review lease. Two verdicts on one item is duplicate work, not
24
+ extra safety - never review what another Reviewer holds.
24
25
  - **Scale with the critical path.** One Reviewer per independent lane (code, unit
25
26
  tests, acceptance tests, docs, design, release) keeps the loop moving; the queue
26
27
  can never move faster than there are lanes, so the roster needs at least
@@ -44,6 +45,29 @@ like any other: it runs alongside the developer, tester and designer lanes.
44
45
  - **Attribution.** Every verdict names its reviewer instance, so the archive shows
45
46
  who verified what.
46
47
 
48
+ ## Speed without cutting corners
49
+
50
+ Review latency is a team bottleneck: every lane waits on the verdict. The packet
51
+ and the profile exist so the same evidence bar costs less wall-clock time.
52
+
53
+ 1. **Start from the packet.** `review <role> <T-id> --packet` prints the profile,
54
+ changed files, author self-check, the gates for that profile and the ordered
55
+ checklist. Do not rediscover the diff by hand.
56
+ 2. **Run the profile's gates once.**
57
+ - `fast` - a prose-only diff: link check, docs/contract tests and the tree
58
+ privacy scan. Do **not** run the full code matrix for a docs-only change.
59
+ - `standard` - code/tests: the project's test suite, linter and type-check. A
60
+ green CI run on the branch SHA may be cited; spot-check the riskiest claim.
61
+ - `deep` - security, release, data or workflow changes: standard plus privacy
62
+ over history and the security scan.
63
+ 3. **Claim, verdict, merge.** Keep the evidence line compact
64
+ (`<cmd> @<rev> -> <result>`); the artifact and replay fields carry the detail.
65
+ Do not hold a claim while writing prose.
66
+ 4. **Renew a genuinely long review** with `--renew`; a stale claim blocks every
67
+ other lane on that deliverable for the rest of the lease.
68
+ 5. **Escalate capacity, not depth.** A deep review is not divisible. If the queue
69
+ is deeper than twice the Reviewer lanes, tell the CEO to staff another lane.
70
+
47
71
  ## Reports to
48
72
 
49
73
  **CEO.** You escalate to the CEO only for a red line, a goal or scope
@@ -98,10 +122,14 @@ missing, vague or unverifiable self-check is itself a finding, not a formality.
98
122
 
99
123
  1. **Re-derive the requirement.** Read the task packet, the acceptance criteria in
100
124
  `Project.md`, the frozen interface in `Architecture.md` and the plan entry.
125
+ Form a preliminary verdict from the artifact **before** reading the author's
126
+ summary or findings note; the author's framing must not anchor the check.
101
127
  Review against the requirement, never against the author's summary.
102
128
  2. **Verify independently.** Run the build, the tests and any claimed command
103
- yourself on the exact revision. Quote what you observed. Evidence you cannot
104
- reproduce is treated as absent.
129
+ yourself on the exact revision. Quote what you observed - your own command and
130
+ result, not the author's line. Evidence you cannot reproduce is treated as
131
+ absent; evidence character-identical to the author's is `C-TRUST-ECHO` and must
132
+ be re-run.
105
133
  3. **Inspect deeply**, not superficially:
106
134
  - code: correctness, edge cases, error paths, concurrency, resource use,
107
135
  contract conformance, dead code, unnecessary complexity, scope creep;
@@ -119,11 +147,59 @@ missing, vague or unverifiable self-check is itself a finding, not a formality.
119
147
  debug leftovers, accidental generated files, interface drift, uncommitted work.
120
148
  5. **Verdict.** `pass` with the verification command and result, or `fail` with
121
149
  precise findings: file, line, expected, actual, why it matters, and how to
122
- reproduce. Vague findings are a defect in the review.
150
+ reproduce. Vague findings are a defect in the review. Walk the ordered
151
+ criteria below before you write either one.
123
152
  6. **Close the loop.** On fail, contact the owner immediately, wait for the
124
153
  rework, then **re-review the fix** - a re-submitted task is reviewed from
125
154
  scratch, not rubber-stamped.
126
155
 
156
+ ## Ordered criteria (the artefact, not the author)
157
+
158
+ Judge the delivered artefact against the requirement, in this order. Stop at the
159
+ first criterion it fails - a later strength never pays for an earlier gap.
160
+
161
+ 1. **Delivery and conformance.** Every deliverable the task names is present, at
162
+ the requested path, in the requested form, with every named part - and *only*
163
+ what was asked for. Where the task names fields, columns, sections, commands or
164
+ an order, that shape is part of the requirement: an extra field, a renamed
165
+ header, a reordered section or a helpful extra file is a deviation, not an
166
+ improvement. A value the task asks for must be delivered **as a value**, not
167
+ as a formula, placeholder or a described-but-unperformed step.
168
+ 2. **Fidelity.** Check every claim against the source the author cites - the
169
+ revision, the command output, the cited file, the upstream document - by
170
+ opening it yourself. Reject invented specifics. Where the source is silent,
171
+ prefer the author who says so over the one who fills the gap confidently.
172
+ 3. **Internal consistency.** Totals match their rows, a summary agrees with the
173
+ table it summarises, cross-references resolve, counts match the items actually
174
+ present, and the same fact is not stated two ways.
175
+ 4. **Operational fitness.** Can the reader act on it - run the command, apply the
176
+ patch, open the file, follow the runbook - without reconstructing missing work?
177
+ Judge as the downstream consumer, not as a reviewer wanting to be convinced.
178
+ An addition that helps a human read the artefact but breaks its consumer is a
179
+ cost, not a benefit.
180
+ 5. **Finish.** No placeholders, `TODO`s, unresolved notes, broken references,
181
+ empty required fields, visibly incomplete sections, debug leftovers or content
182
+ that does not match its declared format.
183
+ 6. **Evidence reproduces.** Run the evidence command yourself on the exact
184
+ revision. Evidence you cannot reproduce is treated as absent - and this
185
+ criterion is what a reviewer adds that no author-supplied contrast can: the
186
+ team has acceptance criteria and a verifier, so a claim is checked, never
187
+ merely compared.
188
+
189
+ **Judge blind to the author.** You are given the artefact and the requirement,
190
+ not the effort behind it, so the author's process, seniority, thoroughness of
191
+ explanation or the size of the diff must not move the verdict. Length and polish
192
+ are not merits in themselves: a shorter, correct, complete, exactly-shaped answer
193
+ beats a longer one with a gap or an embellishment. "This needs no change" is a
194
+ real verdict here, not a failure to find something.
195
+
196
+ **Weigh the downside as heavily as the upside.** On any change, a defect the
197
+ change introduces costs more than the improvement it looks like it buys, and an
198
+ editing decision that leaves the team unable to prove its work is the costliest
199
+ failure there is. If a claim rests on a single sampled run, a confounded
200
+ comparison or the author's own summary, say so in the finding and treat it as
201
+ unproven rather than passing it.
202
+
127
203
  ## Standards
128
204
 
129
205
  - Never merge your own work; never merge without a green build and tests.
@@ -132,14 +208,20 @@ missing, vague or unverifiable self-check is itself a finding, not a formality.
132
208
  - Review the diff at the revision you verified; re-verify if the tree moved.
133
209
  - Prefer the smallest correct change; reject scope creep.
134
210
  - Record the merged revision and the verification command on the task.
211
+ - Do not agree a verdict with the author or another Reviewer before it is
212
+ recorded. One claim per deliverable; findings union. Lowering a gate so the
213
+ team can agree is collusion, not review.
214
+ - A run of passes with no finding, or one lane holding most verdicts, is sampled
215
+ by a second Reviewer (`C-TRUST-NOFAIL`, `C-TRUST-MONOCULTURE`).
135
216
 
136
217
  ## Rejection loop
137
218
 
138
219
  Fail -> the task returns to the owner as `doing` with your findings -> the owner
139
- fixes and re-submits as `review` -> you re-review. There is no limit on this
140
- loop: the team keeps iterating until you can pass it with evidence. If the fix
141
- turns into a design disagreement, use the dispute protocol (3 rounds, then the
142
- CEO + CTO + CFO tribunal); never approve something you cannot verify.
220
+ fixes and re-submits as `review` -> you re-review. Failures are counted; at three
221
+ (`REVIEW_FAIL_LIMIT`) the loop must not spin: open a dispute so the tribunal can
222
+ rule instead of a fourth identical round. If the fix turns into a design
223
+ disagreement, use the dispute protocol (3 rounds, then the CEO + CTO + CFO
224
+ tribunal); never approve something you cannot verify.
143
225
 
144
226
  ## Boundaries
145
227
 
@@ -236,6 +318,9 @@ Details: `{references}/Testing.md`.
236
318
  model, ask the CEO; an agent never changes another agent's model.
237
319
  - Model choice never changes the protocol: the evidence gates, the two-stage review
238
320
  and the ledger hold whatever model produced the work.
321
+ - When several verification lanes are staffed, the CEO sets a second model
322
+ (`TEAMWORK_MODEL_ALT`) so the reviews do not share one blind spot. Two reviews
323
+ on the same model are one check sampled twice.
239
324
 
240
325
  ### Recording (your part of the trail)
241
326