vouchington-tooling 0.22.1 → 0.24.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/README.md +102 -4
- package/dist/agent-blackboard/client.d.mts +34 -0
- package/dist/agent-blackboard/client.mjs +41 -0
- package/dist/agent-blackboard/feedback-canonical.d.mts +1 -0
- package/dist/agent-blackboard/feedback-canonical.mjs +13 -0
- package/dist/agent-blackboard/feedback-codec.d.mts +7 -0
- package/dist/agent-blackboard/feedback-codec.mjs +121 -0
- package/dist/agent-blackboard/feedback-compose.d.mts +37 -0
- package/dist/agent-blackboard/feedback-compose.mjs +109 -0
- package/dist/agent-blackboard/feedback-deadline.d.mts +1 -0
- package/dist/agent-blackboard/feedback-deadline.mjs +18 -0
- package/dist/agent-blackboard/feedback-delivery.d.mts +18 -0
- package/dist/agent-blackboard/feedback-delivery.mjs +88 -0
- package/dist/agent-blackboard/feedback-fields.d.mts +4 -0
- package/dist/agent-blackboard/feedback-fields.mjs +38 -0
- package/dist/agent-blackboard/feedback-identity.d.mts +2 -0
- package/dist/agent-blackboard/feedback-identity.mjs +29 -0
- package/dist/agent-blackboard/feedback-online-error.d.mts +7 -0
- package/dist/agent-blackboard/feedback-online-error.mjs +23 -0
- package/dist/agent-blackboard/feedback-online.d.mts +2 -0
- package/dist/agent-blackboard/feedback-online.mjs +137 -0
- package/dist/agent-blackboard/feedback-outbox.d.mts +8 -0
- package/dist/agent-blackboard/feedback-outbox.mjs +157 -0
- package/dist/agent-blackboard/feedback-types.d.mts +66 -0
- package/dist/agent-blackboard/feedback-types.mjs +1 -0
- package/dist/agent-blackboard/index.d.mts +16 -39
- package/dist/agent-blackboard/index.mjs +35 -81
- package/dist/cli/commands/agent-blackboard.mjs +35 -4
- package/dist/cli/usage.d.mts +1 -1
- package/dist/cli/usage.mjs +3 -1
- package/dist/markdown/details-scope.d.mts +13 -0
- package/dist/markdown/details-scope.mjs +73 -0
- package/dist/markdown/document-sections.d.mts +3 -0
- package/dist/markdown/document-sections.mjs +64 -0
- package/dist/markdown/document-types.d.mts +21 -0
- package/dist/markdown/document-types.mjs +1 -0
- package/dist/markdown/index.d.mts +3 -0
- package/dist/markdown/index.mjs +2 -0
- package/dist/markdown/validate-sections.d.mts +3 -0
- package/dist/markdown/validate-sections.mjs +34 -0
- package/dist/retrospective-facts/coverage.d.mts +6 -0
- package/dist/retrospective-facts/coverage.mjs +42 -0
- package/dist/retrospective-facts/index.d.mts +3 -0
- package/dist/retrospective-facts/index.mjs +18 -1
- package/dist/retrospective-transcript/codex.mjs +8 -3
- package/dist/retrospective-transcript/index.d.mts +5 -0
- package/dist/retrospective-transcript/index.mjs +29 -9
- package/dist/session-friction/classify.mjs +25 -14
- package/dist/session-friction/coverage-ledger.d.mts +10 -0
- package/dist/session-friction/coverage-ledger.mjs +75 -0
- package/dist/session-friction/index.d.mts +1 -1
- package/dist/session-friction/log-file.d.mts +2 -2
- package/dist/session-friction/log-file.mjs +22 -10
- package/dist/session-friction/log.mjs +57 -10
- package/dist/session-friction/report.mjs +36 -7
- package/dist/session-friction/sandbox.mjs +11 -4
- package/dist/session-friction/types.d.mts +25 -4
- package/dist/workflow-policy/index.d.mts +1 -1
- package/dist/workflow-policy/index.mjs +1 -1
- package/dist/workflow-policy/permission-declarations.d.mts +14 -0
- package/dist/workflow-policy/permission-declarations.mjs +55 -0
- package/dist/workflow-policy/permission-inheritance.d.mts +8 -0
- package/dist/workflow-policy/permission-inheritance.mjs +88 -0
- package/dist/workflow-policy/permission-mismatches.d.mts +4 -1
- package/dist/workflow-policy/permission-mismatches.mjs +14 -3
- package/docs/workflow-and-compiler.md +18 -1
- package/package.json +1 -1
- package/skills/agent-workflow/SKILL.md +5 -0
- package/skills/agent-workflow/references/review.md +3 -0
- package/skills/blackboard/SKILL.md +34 -14
- package/skills/manifest.json +21 -21
- package/skills/pr-description/SKILL.md +44 -10
- package/skills/pr-description/references/examples.md +136 -0
- package/skills/retrospective/SKILL.md +27 -16
- package/skills/retrospective-distill/SKILL.md +15 -6
- package/skills/review-ci-logs/SKILL.md +10 -0
|
@@ -0,0 +1,136 @@
|
|
|
1
|
+
# Description examples
|
|
2
|
+
|
|
3
|
+
These illustrative descriptions show how to keep conclusions visible while disclosing longer
|
|
4
|
+
evidence. Use the consumer's actual headings, policy links, issue relationships, and run evidence.
|
|
5
|
+
Do not copy a claim or figure unless the current change supports it.
|
|
6
|
+
|
|
7
|
+
## Small behavior fix
|
|
8
|
+
|
|
9
|
+
```markdown
|
|
10
|
+
## Summary
|
|
11
|
+
|
|
12
|
+
Reopening the review dialog now cancels its pending reset. Previously, the reset cleared the
|
|
13
|
+
new selection because the timer outlived the closed state.
|
|
14
|
+
|
|
15
|
+
## Impact
|
|
16
|
+
|
|
17
|
+
Staff can close and reopen a review without losing the new selection. Closing normally still
|
|
18
|
+
clears the old selection after the exit animation.
|
|
19
|
+
```
|
|
20
|
+
|
|
21
|
+
No diagram, cost calculation, database inventory, or local successful-test list is needed.
|
|
22
|
+
|
|
23
|
+
## Database relationship change
|
|
24
|
+
|
|
25
|
+
```markdown
|
|
26
|
+
## Summary
|
|
27
|
+
|
|
28
|
+
Recovery attempts now reference retained account identities through a foreign key. Previously,
|
|
29
|
+
an unvalidated identifier could refer to an account that no longer existed.
|
|
30
|
+
|
|
31
|
+
## Impact
|
|
32
|
+
|
|
33
|
+
Operators can trace each attempt to a retained identity, and deletion cannot orphan recovery
|
|
34
|
+
history. The API's recovery response is unchanged. Storage cost is unmeasured; retaining an
|
|
35
|
+
identity row per deleted account adds storage proportional to account deletions.
|
|
36
|
+
|
|
37
|
+
<details>
|
|
38
|
+
<summary>Schema inventory and conformance</summary>
|
|
39
|
+
|
|
40
|
+
| Object | Before | After |
|
|
41
|
+
| --------------------------------------------- | ----------------------- | --------------------------------- |
|
|
42
|
+
| `account_identity` table | Absent | Retains each account's identity |
|
|
43
|
+
| `recovery_attempt.account_id` column | Unvalidated UUID | Removed |
|
|
44
|
+
| `recovery_attempt.account_identity_id` column | Absent | Required foreign key |
|
|
45
|
+
| Foreign-key constraint | Absent | References `account_identity(id)` |
|
|
46
|
+
| Lookup index | Uses the removed column | Uses `account_identity_id` |
|
|
47
|
+
|
|
48
|
+
The relationship uses a typed column and concrete foreign key, as required by the repository's
|
|
49
|
+
relational-storage policy. The current schema, recovery writer, account-deletion path, and
|
|
50
|
+
operator query change together. There is no dual reader or writer.
|
|
51
|
+
|
|
52
|
+
</details>
|
|
53
|
+
```
|
|
54
|
+
|
|
55
|
+
In a real description, link the consumer's policy and implementation evidence. Do not prescribe
|
|
56
|
+
this consumer-specific retention or deployment policy for other repositories.
|
|
57
|
+
|
|
58
|
+
## Workflow and cost change
|
|
59
|
+
|
|
60
|
+
````markdown
|
|
61
|
+
## Summary
|
|
62
|
+
|
|
63
|
+
Test jobs now run once per revision. Previously, changing a pull request's draft status started
|
|
64
|
+
a duplicate test run even though no test job consumed draft state.
|
|
65
|
+
|
|
66
|
+
## Impact
|
|
67
|
+
|
|
68
|
+
Contributors keep the checks already attached to their revision when marking it ready. Estimated
|
|
69
|
+
runner use falls by one duplicate suite per draft-to-ready transition; the estimate assumes
|
|
70
|
+
one transition and a 12-minute suite. Aggregate savings are unmeasured.
|
|
71
|
+
|
|
72
|
+
<details>
|
|
73
|
+
<summary>Before and after event flow</summary>
|
|
74
|
+
|
|
75
|
+
```mermaid
|
|
76
|
+
flowchart LR
|
|
77
|
+
subgraph Before
|
|
78
|
+
B1[Revision pushed] --> B3[Test suite]
|
|
79
|
+
B2[Draft marked ready] --> B4[Duplicate test suite]
|
|
80
|
+
end
|
|
81
|
+
subgraph After
|
|
82
|
+
A1[Revision pushed] --> A3[Test suite]
|
|
83
|
+
A2[Draft marked ready] --> A4[Merge eligibility only]
|
|
84
|
+
end
|
|
85
|
+
```
|
|
86
|
+
|
|
87
|
+
</details>
|
|
88
|
+
````
|
|
89
|
+
|
|
90
|
+
The diagram explains event ownership; a file list or arrows between the Summary and Impact sections
|
|
91
|
+
would not clarify the behavior. Link the run measurements supporting a real estimate.
|
|
92
|
+
|
|
93
|
+
## Harness gap: omitted local verification
|
|
94
|
+
|
|
95
|
+
```markdown
|
|
96
|
+
## Harness gaps
|
|
97
|
+
|
|
98
|
+
CI found that the local pre-push command omitted the compiler-contract suite. The harness now
|
|
99
|
+
includes that suite, and the missing public export is fixed.
|
|
100
|
+
|
|
101
|
+
<details>
|
|
102
|
+
<summary>Failure and durable correction</summary>
|
|
103
|
+
|
|
104
|
+
The failed compiler-contract job on the first pushed revision reported the missing export.
|
|
105
|
+
The pre-push record ran the component project only; the compiler-contract project was omitted
|
|
106
|
+
because the command catalog did not include it. The catalog and pre-push selection now include
|
|
107
|
+
the project, and a public-import regression covers this export.
|
|
108
|
+
|
|
109
|
+
</details>
|
|
110
|
+
```
|
|
111
|
+
|
|
112
|
+
The actual record must link the failing run/job and exact head SHA, plus the local scope and
|
|
113
|
+
correction evidence. Retain it when the corrected revision passes CI.
|
|
114
|
+
|
|
115
|
+
## Harness gap: passed locally, failed in CI
|
|
116
|
+
|
|
117
|
+
```markdown
|
|
118
|
+
## Harness gaps
|
|
119
|
+
|
|
120
|
+
The contract suite passed locally but failed in CI because the local runner selected the host
|
|
121
|
+
architecture instead of the deployment target. Local validation now selects that target explicitly.
|
|
122
|
+
|
|
123
|
+
<details>
|
|
124
|
+
<summary>Local and CI scope difference</summary>
|
|
125
|
+
|
|
126
|
+
The pre-push record and failing job used the same suite on the same revision. Their target
|
|
127
|
+
configurations differed: local selected the host target, while CI compiled the deployment target.
|
|
128
|
+
The local command now uses the deployment target, and a compiler regression covers the rejected
|
|
129
|
+
cross-target import. This was a configuration mismatch, not an omitted suite.
|
|
130
|
+
|
|
131
|
+
</details>
|
|
132
|
+
```
|
|
133
|
+
|
|
134
|
+
Link the concrete revision, failed job, local evidence, and correction in the actual record.
|
|
135
|
+
An external service outage, unavailable CI-only credentials, or unknown local execution history
|
|
136
|
+
does not support this claim. Explain such limitations separately when they affect the outcome.
|
|
@@ -12,20 +12,31 @@ Local policy overrides these defaults; do not reload an already-read adapter or
|
|
|
12
12
|
Use at task completion or session close-out when the repository has a retrospective workflow. Read
|
|
13
13
|
local `AGENTS.md`, and journal guidance first.
|
|
14
14
|
|
|
15
|
-
1.
|
|
16
|
-
|
|
17
|
-
2.
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
15
|
+
1. Read the agent's own journal oldest-first and check for an existing retrospective. Capture a
|
|
16
|
+
material new observation before filing a follow-up issue. Preserve entry-level repository tags.
|
|
17
|
+
2. Generate routine repository and transcript facts with the approved composer. Keep exact factual
|
|
18
|
+
section markers generated, preserve unavailable counts, and never replace missing evidence with
|
|
19
|
+
invented zero statistics. Do not paste raw collectors' output or manually reconstruct facts.
|
|
20
|
+
3. Record work outcome, feedback coverage, and delivery independently. Success, failure,
|
|
21
|
+
cancellation, timeout, no-change, and policy refusal each need truthful terminal reporting.
|
|
22
|
+
Missing or truncated sources are unavailable/partial; durable interactive pending remains pending.
|
|
23
|
+
Autonomous completion requires the controller's acknowledged terminal readback or visible block.
|
|
24
|
+
4. Report observed first-party tool and architectural behavior with concrete evidence and a
|
|
25
|
+
disposition, including useful resolved outcomes and rejected proposals. None observed requires
|
|
26
|
+
the inspected scope. Not assessed or unavailable requires a reason. Do not turn a plausible
|
|
27
|
+
cause into an observed diagnosis or infer permission decisions from requests.
|
|
28
|
+
For applicable configured tools, report used versus skipped/unavailable with reasons, the owning
|
|
29
|
+
workflow or command-catalog entrypoint, and terminal result/action, especially pr-shepherd and no-mistakes.
|
|
30
|
+
5. Keep the top five findings or improvements in the human prose. The bounded durable evidence can
|
|
31
|
+
retain additional relevant findings; a prose limit is not permission to silently discard them.
|
|
32
|
+
Separate recurring root causes from one-off noise and preserve existing issue references.
|
|
33
|
+
6. Save through the shared validated writer. Interactive outages use the approved bounded private
|
|
34
|
+
outbox with visible pending count; failed persistence blocks capture. Autonomous reporting stays
|
|
35
|
+
online and never uses that outbox to authorize an attempt or completion. Report the acknowledged
|
|
36
|
+
record/receipt, or the actual pending/blocked state and next replay action.
|
|
25
37
|
|
|
26
|
-
Use raw evidence only for local verification. Save only bounded structured facts or redacted
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
filing policy. They cannot weaken this minimization boundary.
|
|
38
|
+
Use raw evidence only for local verification. Save only bounded structured facts or redacted summaries
|
|
39
|
+
in durable retrospectives; never embed unredacted logs, command output, environment dumps, provider
|
|
40
|
+
payloads, or transcript content there. Exclude secrets. Consumer wrappers own providers, commands,
|
|
41
|
+
report schema, retention, trusted runner mode, and issue routing; they cannot weaken this minimization
|
|
42
|
+
boundary.
|
|
@@ -15,17 +15,26 @@ Use when completed retrospectives or journals should become durable follow-up wo
|
|
|
15
15
|
1. Enumerate only completed, eligible session records. For repository-scoped work, filter sessions
|
|
16
16
|
by repository membership and use only entries attributed to that repository. Leave untagged
|
|
17
17
|
legacy records unclassified. Do not infer their repository. Leave in-progress sessions intact.
|
|
18
|
-
2.
|
|
18
|
+
2. Validate storage type and the shared envelope independently of optional category. Never repair
|
|
19
|
+
unknown legacy types or repository provenance by inference. Quarantine malformed sessions with
|
|
20
|
+
an explicit reason while processing valid unrelated sessions. Deduplicate at-least-once records
|
|
21
|
+
by exact session/source identity and reject conflicting duplicate content. Retain coverage,
|
|
22
|
+
dropped counts, requested versus observed outcomes, and useful resolved findings.
|
|
23
|
+
3. Cluster findings by root cause. Prefer a few broad actionable themes over many narrow issues.
|
|
19
24
|
Treat a finding already linked to an open tracker as context, not a duplicate.
|
|
20
|
-
|
|
21
|
-
drafting. Skip work that is complete, explicitly rejected, or already covered.
|
|
22
|
-
|
|
25
|
+
4. Verify each candidate against the current base. Search existing issues and open changes before
|
|
26
|
+
drafting. Skip work that is complete, explicitly rejected, or already covered. A first-party version
|
|
27
|
+
bump is not proof of resolution: verify the adopted change against the original finding before
|
|
28
|
+
deferring. Capture a new observation in the journal before filing it.
|
|
29
|
+
5. Draft self-contained issues with the problem, concrete proposed work, relevant areas, and
|
|
23
30
|
validation. Route every authorized creation through
|
|
24
31
|
[github-issue](../github-issue/SKILL.md), including its repository gate, label approval, and
|
|
25
32
|
denied-external tracking behavior.
|
|
26
|
-
|
|
33
|
+
6. Archive only records fully processed across every represented repository, under the repository's
|
|
27
34
|
retention rules. A one-repository pass leaves a multi-repository session active until the other
|
|
28
|
-
repositories are reviewed. Report
|
|
35
|
+
repositories are reviewed. Report reviewed, fixed, duplicate, deferred, quarantined, and
|
|
36
|
+
actionable dispositions with reasons. Keep the top five themes in human prose without dropping
|
|
37
|
+
underlying findings or unresolved records.
|
|
29
38
|
|
|
30
39
|
Use source records only for local verification and leave them in the repository's approved journal
|
|
31
40
|
or retention system. Public issue bodies contain only the minimum bounded facts or redacted
|
|
@@ -18,6 +18,11 @@ Use when investigating a CI failure, repeated workflow noise, or misleading diag
|
|
|
18
18
|
failed steps and representative large entries, then remove the temporary artifacts.
|
|
19
19
|
3. Classify each finding as a real error, misleading output, a downstream cascade, a necessary
|
|
20
20
|
diagnostic, or a volume-only concern. Identify the first repository-owned root cause.
|
|
21
|
+
Compare the first failing run/job, its exact head revision, and scope with the pre-push verification record.
|
|
22
|
+
Establish whether the relevant local verification was omitted, passed under a different scope
|
|
23
|
+
or environment, genuinely CI-only, or unknown. A shared command name does not prove shared
|
|
24
|
+
project, target, fixtures, or configuration. Do not infer an omission from missing evidence or
|
|
25
|
+
label an external infrastructure failure a harness miss.
|
|
21
26
|
4. For a persistent-workspace failure, name the producer of sparse state or unsafe ownership before
|
|
22
27
|
proposing cleanup. Reject an unconditional pre-checkout workspace traversal. A compliant repair
|
|
23
28
|
is the one in [github-actions-checklist](../github-actions-checklist/SKILL.md).
|
|
@@ -27,6 +32,11 @@ Use when investigating a CI failure, repeated workflow noise, or misleading diag
|
|
|
27
32
|
6. Add focused regression evidence, run local workflow validation, and compare before and after
|
|
28
33
|
output where that comparison is meaningful. Report deferred findings. Do not create issues unless
|
|
29
34
|
authorized.
|
|
35
|
+
7. Update [the PR description](../pr-description/SKILL.md) before handoff with confirmed omitted
|
|
36
|
+
verification or proven local/CI mismatch. Link the first failed run/job and its exact revision, the actual local
|
|
37
|
+
scope, the reason it missed the failure, and the durable harness correction or authorized
|
|
38
|
+
follow-up. Keep the distinction between omitted and locally passed checks explicit, and retain
|
|
39
|
+
confirmed gap records after CI turns green. Classify CI-only and unknown coverage separately.
|
|
30
40
|
|
|
31
41
|
Consumer wrapper owns: workflow names, log retention, the CI provider command, retry policy, and
|
|
32
42
|
scheduled automation.
|