vouchington-tooling 0.25.0 → 0.27.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.
Files changed (34) hide show
  1. package/README.md +4 -1
  2. package/dist/agent-blackboard/feedback-canonical.d.mts +7 -0
  3. package/dist/agent-blackboard/feedback-canonical.mjs +8 -0
  4. package/dist/agent-blackboard/feedback-delivery.mjs +8 -6
  5. package/dist/agent-blackboard/feedback-online.mjs +11 -4
  6. package/dist/agent-blackboard/feedback-outbox.d.mts +8 -1
  7. package/dist/agent-blackboard/feedback-outbox.mjs +17 -4
  8. package/dist/agent-blackboard/feedback-types.d.mts +4 -0
  9. package/dist/agent-blackboard/index.d.mts +1 -1
  10. package/dist/agent-blackboard/index.mjs +1 -1
  11. package/dist/mcp-server/context.d.mts +1 -2
  12. package/dist/mcp-server/dispatch.mjs +6 -12
  13. package/dist/mcp-server/fake-blackboard.test-helpers.d.mts +4 -0
  14. package/dist/mcp-server/fake-blackboard.test-helpers.mjs +7 -1
  15. package/dist/mcp-server/handlers-journal.d.mts +1 -2
  16. package/dist/mcp-server/handlers-journal.mjs +38 -29
  17. package/dist/mcp-server/handlers-outbox.d.mts +11 -0
  18. package/dist/mcp-server/handlers-outbox.mjs +45 -0
  19. package/dist/mcp-server/harness.test-helpers.d.mts +6 -1
  20. package/dist/mcp-server/harness.test-helpers.mjs +14 -2
  21. package/dist/mcp-server/server.mjs +5 -1
  22. package/dist/mcp-server/tools.mjs +15 -11
  23. package/dist/pnpm-install/pnpm-install-fake-pnpm.test-helpers.mjs +2 -2
  24. package/docs/mcp-server.md +65 -14
  25. package/package.json +1 -1
  26. package/skills/blackboard/SKILL.md +69 -22
  27. package/skills/manifest.json +27 -21
  28. package/skills/postgres-node-performance-tuning/references/performance-patterns.md +22 -0
  29. package/skills/postgres-partitioning-uuid-v7/SKILL.md +3 -0
  30. package/skills/postgres-schema-design/SKILL.md +21 -0
  31. package/skills/postgres-schema-design/references/naming.md +34 -0
  32. package/skills/postgres-schema-design/references/relations.md +46 -0
  33. package/skills/postgres-schema-design/references/table-shapes.md +56 -0
  34. package/skills/retrospective-distill/SKILL.md +43 -14
@@ -12,26 +12,53 @@ Local policy overrides these defaults; do not reload an already-read adapter or
12
12
  Use when completed retrospectives or journals should become durable follow-up work. Read local
13
13
  `AGENTS.md`, issue policy, and journal retention rules before any mutation.
14
14
 
15
- 1. Enumerate only completed, eligible session records. For repository-scoped work, filter sessions
16
- by repository membership and use only entries attributed to that repository. Leave untagged
17
- legacy records unclassified. Do not infer their repository. Leave in-progress sessions intact.
18
- 2. Validate storage type and the shared envelope independently of optional category. Never repair
15
+ 1. Enumerate only completed, eligible session records with the `snapshot_export` tool of the
16
+ `vouchington-tooling` MCP server, narrowing by `agent`, `version`, `parentSessionId`, exact
17
+ `data` fields, `dataArrayContains`, and `inactiveForHours`. It exports non-archived sessions to a
18
+ private local file and returns the path, counts, checksum, and manifest, never the records.
19
+ Before exporting, call `outbox_flush` and then `outbox_status` for every worktree that
20
+ `git worktree list` reports, passing each path as `worktree`, and stop if any reports a
21
+ `worktreePendingCount` above 0. Use the worktree count, never `pendingCount` or `status`, which
22
+ cover only the caller's own session: the sessions to distill belong to other agents, and an
23
+ archived session refuses later delivery, so a retained record would never be distilled. Outboxes
24
+ in removed worktrees or on other machines cannot be drained this way, so select with
25
+ `inactiveForHours` to give them time to deliver. Leave in-progress sessions intact. If a search
26
+ for `snapshot_export` (the tool names carry a harness prefix, see the
27
+ [blackboard skill](../blackboard/SKILL.md)) finds no server, stop and report it; do not fall back
28
+ to a CLI command.
29
+ 2. Before using any record, verify the file against the returned checksum, counts, and terminal
30
+ manifest with the consumer's approved snapshot reader, and stop on a mismatch rather than
31
+ treating missing records as absent. Read full records, with their storage type, repository
32
+ tags, source identity, coverage, and outcomes, from that file. Do not distill from
33
+ `journal_entries`: it reads one session at a time and has no checksum or manifest to show that
34
+ the read is complete. For repository-scoped work, filter sessions by
35
+ repository membership (`dataArrayContains` with `repositories` and the exact `owner/name`) and
36
+ use only entries attributed to that repository. Leave untagged legacy records unclassified. Do
37
+ not infer their repository.
38
+ 3. Validate storage type and the shared envelope independently of optional category. Never repair
19
39
  unknown legacy types or repository provenance by inference. Quarantine malformed sessions with
20
40
  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,
41
+ by exact session/source identity and reject conflicting duplicate content. Records that differ
42
+ only in their server-assigned `timestamp` are one event. Retain coverage,
22
43
  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.
44
+ 4. Cluster findings by root cause. Prefer a few broad actionable themes over many narrow issues.
24
45
  Treat a finding already linked to an open tracker as context, not a duplicate.
25
- 4. Verify each candidate against the current base. Search existing issues and open changes before
46
+ 5. Verify each candidate against the current base. Search existing issues and open changes before
26
47
  drafting. Skip work that is complete, explicitly rejected, or already covered. A first-party version
27
48
  bump is not proof of resolution: verify the adopted change against the original finding before
28
49
  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
50
+ 6. Draft self-contained issues with the problem, concrete proposed work, relevant areas, and
30
51
  validation. Route every authorized creation through
31
52
  [github-issue](../github-issue/SKILL.md), including its repository gate, label approval, and
32
53
  denied-external tracking behavior.
33
- 6. Archive only records fully processed across every represented repository, under the repository's
34
- retention rules. A one-repository pass leaves a multi-repository session active until the other
54
+ 7. Archive only verified records fully processed across every represented repository, and never
55
+ while any worktree's `outbox_status` reports a `worktreePendingCount` above 0, under the
56
+ repository's retention rules. Make one `session_archive` call per session, whose `sessionId` is the archived session,
57
+ not the caller. Immediately before each call, read that session with `journal_entries` and
58
+ archive only if its entries match the verified snapshot's by source identity; otherwise leave it
59
+ for the next pass, because an entry added after the export would never be distilled.
60
+ Archiving makes the session's metadata immutable, so it needs the archival authorization that
61
+ local policy requires. A one-repository pass leaves a multi-repository session active until the other
35
62
  repositories are reviewed. Report reviewed, fixed, duplicate, deferred, quarantined, and
36
63
  actionable dispositions with reasons. Keep the top five themes in human prose without dropping
37
64
  underlying findings or unresolved records.
@@ -40,8 +67,10 @@ Use source records only for local verification and leave them in the repository'
40
67
  or retention system. Public issue bodies contain only the minimum bounded facts or redacted
41
68
  summaries needed to establish the problem, proposed work, relevant areas, and validation. Never
42
69
  embed unredacted logs, command output, environment details, provider payloads, or transcript
43
- content.
70
+ content. A snapshot file is a private local copy of source records: never commit or attach it, or
71
+ copy its contents into an issue.
44
72
 
45
- This skill supplies no journal API, issue repository, labels, milestones, projects, archival
46
- command, or approval model. Consumer wrappers cannot weaken this export boundary; they provide only
47
- those local details.
73
+ This skill supplies no issue repository, labels, milestones, projects, or approval model; it reads
74
+ sessions only from the snapshot file that `snapshot_export` writes, and archives them only with
75
+ `session_archive`. Consumer wrappers cannot weaken this export
76
+ boundary; they provide only those local details.