ai-collab-open-system 0.1.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 (259) hide show
  1. package/.aict/START_HERE.md +127 -0
  2. package/.aict/WORKSPACE_MANIFEST.json +91 -0
  3. package/.aict/acceptance/EXAMPLE.synthetic.md +49 -0
  4. package/.aict/acceptance/FAILURE_MODES.md +40 -0
  5. package/.aict/acceptance/PROMPT.md +47 -0
  6. package/.aict/acceptance/README.md +44 -0
  7. package/.aict/acceptance/TEMPLATE.md +57 -0
  8. package/.aict/adapters/SHARED_CORE_CONTRACT.md +106 -0
  9. package/.aict/adapters/claude-code/ADAPTER.md +28 -0
  10. package/.aict/adapters/cline/ADAPTER.md +28 -0
  11. package/.aict/adapters/codex/ADAPTER.md +28 -0
  12. package/.aict/adapters/copilot/ADAPTER.md +28 -0
  13. package/.aict/adapters/cursor/ADAPTER.md +28 -0
  14. package/.aict/adapters/windsurf/ADAPTER.md +28 -0
  15. package/.aict/context/EXAMPLE.synthetic.md +53 -0
  16. package/.aict/context/FAILURE_MODES.md +40 -0
  17. package/.aict/context/PROMPT.md +47 -0
  18. package/.aict/context/README.md +44 -0
  19. package/.aict/context/TEMPLATE.md +63 -0
  20. package/.aict/cookbook/README.md +8 -0
  21. package/.aict/cookbook/bridge-to-a-second-family.md +103 -0
  22. package/.aict/cookbook/connect-a-tool.md +67 -0
  23. package/.aict/cookbook/review-a-half-product.md +79 -0
  24. package/.aict/cookbook/run-a-first-loop.md +81 -0
  25. package/.aict/examples/README.md +21 -0
  26. package/.aict/examples/ai-coding-long-task/CASE.md +161 -0
  27. package/.aict/examples/ai-coding-long-task/artifacts/acceptance-card.md +36 -0
  28. package/.aict/examples/ai-coding-long-task/artifacts/context-package.md +30 -0
  29. package/.aict/examples/ai-coding-long-task/artifacts/execution-prompt.md +30 -0
  30. package/.aict/examples/ai-coding-long-task/artifacts/first-ai-output.md +109 -0
  31. package/.aict/examples/ai-coding-long-task/artifacts/guard-review.md +40 -0
  32. package/.aict/examples/ai-coding-long-task/artifacts/handoff-note.md +28 -0
  33. package/.aict/examples/ai-coding-long-task/artifacts/harvest-seed.md +28 -0
  34. package/.aict/examples/ai-coding-long-task/artifacts/revised-output.md +62 -0
  35. package/.aict/examples/content-production-harvest/CASE.md +87 -0
  36. package/.aict/examples/content-production-harvest/artifacts/acceptance-card.md +28 -0
  37. package/.aict/examples/content-production-harvest/artifacts/context-package.md +28 -0
  38. package/.aict/examples/content-production-harvest/artifacts/execution-prompt.md +30 -0
  39. package/.aict/examples/content-production-harvest/artifacts/guard-review.md +28 -0
  40. package/.aict/examples/content-production-harvest/artifacts/handoff-note.md +28 -0
  41. package/.aict/examples/content-production-harvest/artifacts/harvest-seed.md +28 -0
  42. package/.aict/examples/multi-tool-collaboration/CASE.md +87 -0
  43. package/.aict/examples/multi-tool-collaboration/artifacts/acceptance-card.md +28 -0
  44. package/.aict/examples/multi-tool-collaboration/artifacts/context-package.md +28 -0
  45. package/.aict/examples/multi-tool-collaboration/artifacts/execution-prompt.md +30 -0
  46. package/.aict/examples/multi-tool-collaboration/artifacts/guard-review.md +28 -0
  47. package/.aict/examples/multi-tool-collaboration/artifacts/handoff-note.md +28 -0
  48. package/.aict/examples/multi-tool-collaboration/artifacts/harvest-seed.md +28 -0
  49. package/.aict/examples/personal-judgment-growth-assistant/CASE.md +87 -0
  50. package/.aict/examples/personal-judgment-growth-assistant/artifacts/acceptance-card.md +28 -0
  51. package/.aict/examples/personal-judgment-growth-assistant/artifacts/context-package.md +28 -0
  52. package/.aict/examples/personal-judgment-growth-assistant/artifacts/execution-prompt.md +30 -0
  53. package/.aict/examples/personal-judgment-growth-assistant/artifacts/guard-review.md +28 -0
  54. package/.aict/examples/personal-judgment-growth-assistant/artifacts/handoff-note.md +28 -0
  55. package/.aict/examples/personal-judgment-growth-assistant/artifacts/harvest-seed.md +28 -0
  56. package/.aict/examples/research-knowledge-synthesis/CASE.md +87 -0
  57. package/.aict/examples/research-knowledge-synthesis/artifacts/acceptance-card.md +28 -0
  58. package/.aict/examples/research-knowledge-synthesis/artifacts/context-package.md +28 -0
  59. package/.aict/examples/research-knowledge-synthesis/artifacts/execution-prompt.md +30 -0
  60. package/.aict/examples/research-knowledge-synthesis/artifacts/guard-review.md +28 -0
  61. package/.aict/examples/research-knowledge-synthesis/artifacts/handoff-note.md +28 -0
  62. package/.aict/examples/research-knowledge-synthesis/artifacts/harvest-seed.md +28 -0
  63. package/.aict/guard/EXAMPLE.synthetic.md +51 -0
  64. package/.aict/guard/FAILURE_MODES.md +40 -0
  65. package/.aict/guard/PROMPT.md +47 -0
  66. package/.aict/guard/README.md +44 -0
  67. package/.aict/guard/TEMPLATE.md +60 -0
  68. package/.aict/handoff/EXAMPLE.synthetic.md +51 -0
  69. package/.aict/handoff/FAILURE_MODES.md +40 -0
  70. package/.aict/handoff/PROMPT.md +47 -0
  71. package/.aict/handoff/README.md +44 -0
  72. package/.aict/handoff/TEMPLATE.md +60 -0
  73. package/.aict/harvest/EXAMPLE.synthetic.md +51 -0
  74. package/.aict/harvest/FAILURE_MODES.md +40 -0
  75. package/.aict/harvest/PROMPT.md +47 -0
  76. package/.aict/harvest/README.md +44 -0
  77. package/.aict/harvest/TEMPLATE.md +60 -0
  78. package/.aict/mechanisms/README.md +34 -0
  79. package/.aict/mechanisms/anti-drift-partner/EXAMPLE.synthetic.md +46 -0
  80. package/.aict/mechanisms/anti-drift-partner/FAILURE_MODES.md +25 -0
  81. package/.aict/mechanisms/anti-drift-partner/PROMPT.md +75 -0
  82. package/.aict/mechanisms/anti-drift-partner/README.md +82 -0
  83. package/.aict/mechanisms/anti-drift-partner/TEMPLATE.md +74 -0
  84. package/.aict/mechanisms/blind-spot-scan/EXAMPLE.synthetic.md +39 -0
  85. package/.aict/mechanisms/blind-spot-scan/FAILURE_MODES.md +25 -0
  86. package/.aict/mechanisms/blind-spot-scan/PROMPT.md +72 -0
  87. package/.aict/mechanisms/blind-spot-scan/README.md +79 -0
  88. package/.aict/mechanisms/blind-spot-scan/TEMPLATE.md +70 -0
  89. package/.aict/mechanisms/collaboration-coach/EXAMPLE.synthetic.md +40 -0
  90. package/.aict/mechanisms/collaboration-coach/FAILURE_MODES.md +25 -0
  91. package/.aict/mechanisms/collaboration-coach/PROMPT.md +72 -0
  92. package/.aict/mechanisms/collaboration-coach/README.md +79 -0
  93. package/.aict/mechanisms/collaboration-coach/TEMPLATE.md +61 -0
  94. package/.aict/mechanisms/do-not-handle-yet/EXAMPLE.synthetic.md +15 -0
  95. package/.aict/mechanisms/do-not-handle-yet/FAILURE_MODES.md +16 -0
  96. package/.aict/mechanisms/do-not-handle-yet/PROMPT.md +41 -0
  97. package/.aict/mechanisms/do-not-handle-yet/README.md +30 -0
  98. package/.aict/mechanisms/do-not-handle-yet/TEMPLATE.md +38 -0
  99. package/.aict/mechanisms/dual-guard/EXAMPLE.synthetic.md +54 -0
  100. package/.aict/mechanisms/dual-guard/FAILURE_MODES.md +25 -0
  101. package/.aict/mechanisms/dual-guard/PROMPT.md +76 -0
  102. package/.aict/mechanisms/dual-guard/README.md +81 -0
  103. package/.aict/mechanisms/dual-guard/TEMPLATE.md +73 -0
  104. package/.aict/mechanisms/feedback-absorption-ledger/EXAMPLE.synthetic.md +49 -0
  105. package/.aict/mechanisms/feedback-absorption-ledger/FAILURE_MODES.md +25 -0
  106. package/.aict/mechanisms/feedback-absorption-ledger/PROMPT.md +74 -0
  107. package/.aict/mechanisms/feedback-absorption-ledger/README.md +81 -0
  108. package/.aict/mechanisms/feedback-absorption-ledger/TEMPLATE.md +69 -0
  109. package/.aict/mechanisms/half-product-review/EXAMPLE.synthetic.md +15 -0
  110. package/.aict/mechanisms/half-product-review/FAILURE_MODES.md +16 -0
  111. package/.aict/mechanisms/half-product-review/PROMPT.md +41 -0
  112. package/.aict/mechanisms/half-product-review/README.md +30 -0
  113. package/.aict/mechanisms/half-product-review/TEMPLATE.md +38 -0
  114. package/.aict/mechanisms/handoff-abc/EXAMPLE.synthetic.md +47 -0
  115. package/.aict/mechanisms/handoff-abc/FAILURE_MODES.md +25 -0
  116. package/.aict/mechanisms/handoff-abc/PROMPT.md +75 -0
  117. package/.aict/mechanisms/handoff-abc/README.md +82 -0
  118. package/.aict/mechanisms/handoff-abc/TEMPLATE.md +60 -0
  119. package/.aict/mechanisms/harvest-and-erc/EXAMPLE.synthetic.md +43 -0
  120. package/.aict/mechanisms/harvest-and-erc/FAILURE_MODES.md +25 -0
  121. package/.aict/mechanisms/harvest-and-erc/PROMPT.md +74 -0
  122. package/.aict/mechanisms/harvest-and-erc/README.md +81 -0
  123. package/.aict/mechanisms/harvest-and-erc/TEMPLATE.md +60 -0
  124. package/.aict/mechanisms/honest-calibration/EXAMPLE.synthetic.md +43 -0
  125. package/.aict/mechanisms/honest-calibration/FAILURE_MODES.md +25 -0
  126. package/.aict/mechanisms/honest-calibration/PROMPT.md +74 -0
  127. package/.aict/mechanisms/honest-calibration/README.md +81 -0
  128. package/.aict/mechanisms/honest-calibration/TEMPLATE.md +66 -0
  129. package/.aict/mechanisms/one-click-dispatch/EXAMPLE.synthetic.md +15 -0
  130. package/.aict/mechanisms/one-click-dispatch/FAILURE_MODES.md +16 -0
  131. package/.aict/mechanisms/one-click-dispatch/PROMPT.md +41 -0
  132. package/.aict/mechanisms/one-click-dispatch/README.md +30 -0
  133. package/.aict/mechanisms/one-click-dispatch/TEMPLATE.md +38 -0
  134. package/.aict/mechanisms/plain-language-first-screen/EXAMPLE.synthetic.md +15 -0
  135. package/.aict/mechanisms/plain-language-first-screen/FAILURE_MODES.md +16 -0
  136. package/.aict/mechanisms/plain-language-first-screen/PROMPT.md +41 -0
  137. package/.aict/mechanisms/plain-language-first-screen/README.md +30 -0
  138. package/.aict/mechanisms/plain-language-first-screen/TEMPLATE.md +38 -0
  139. package/.aict/mechanisms/root-cause-brake/EXAMPLE.synthetic.md +55 -0
  140. package/.aict/mechanisms/root-cause-brake/FAILURE_MODES.md +25 -0
  141. package/.aict/mechanisms/root-cause-brake/PROMPT.md +73 -0
  142. package/.aict/mechanisms/root-cause-brake/README.md +79 -0
  143. package/.aict/mechanisms/root-cause-brake/TEMPLATE.md +74 -0
  144. package/.aict/mechanisms/scout-review-controller/EXAMPLE.synthetic.md +15 -0
  145. package/.aict/mechanisms/scout-review-controller/FAILURE_MODES.md +16 -0
  146. package/.aict/mechanisms/scout-review-controller/PROMPT.md +41 -0
  147. package/.aict/mechanisms/scout-review-controller/README.md +30 -0
  148. package/.aict/mechanisms/scout-review-controller/TEMPLATE.md +38 -0
  149. package/.aict/mechanisms/single-tool-guard/EXAMPLE.synthetic.md +54 -0
  150. package/.aict/mechanisms/single-tool-guard/FAILURE_MODES.md +25 -0
  151. package/.aict/mechanisms/single-tool-guard/PROMPT.md +76 -0
  152. package/.aict/mechanisms/single-tool-guard/README.md +83 -0
  153. package/.aict/mechanisms/single-tool-guard/TEMPLATE.md +75 -0
  154. package/.aict/mechanisms/task-splitting/EXAMPLE.synthetic.md +53 -0
  155. package/.aict/mechanisms/task-splitting/FAILURE_MODES.md +25 -0
  156. package/.aict/mechanisms/task-splitting/PROMPT.md +72 -0
  157. package/.aict/mechanisms/task-splitting/README.md +79 -0
  158. package/.aict/mechanisms/task-splitting/TEMPLATE.md +76 -0
  159. package/.aict/modes/README.md +11 -0
  160. package/.aict/modes/execute.md +31 -0
  161. package/.aict/modes/handoff.md +29 -0
  162. package/.aict/modes/harvest.md +30 -0
  163. package/.aict/modes/review.md +28 -0
  164. package/.aict/modes/shape.md +34 -0
  165. package/.aict/privacy/COMMERCIAL_BOUNDARY.md +34 -0
  166. package/.aict/privacy/PRIVACY.md +36 -0
  167. package/.aict/privacy/REDACTION_CHECKLIST.md +12 -0
  168. package/.aict/profile/CANDIDATES.md +44 -0
  169. package/.aict/profile/EXAMPLE.synthetic.md +49 -0
  170. package/.aict/profile/FAILURE_MODES.md +40 -0
  171. package/.aict/profile/PROMPT.md +47 -0
  172. package/.aict/profile/README.md +44 -0
  173. package/.aict/profile/TEMPLATE.md +57 -0
  174. package/.aict/prompts/acceptance-definition.md +109 -0
  175. package/.aict/prompts/guard-review.md +116 -0
  176. package/.aict/prompts/handoff-generation.md +110 -0
  177. package/.aict/prompts/harvest-extraction.md +110 -0
  178. package/.aict/prompts/mode-switching.md +66 -0
  179. package/.aict/prompts/profile-creation.md +66 -0
  180. package/.aict/prompts/profile-refinement.md +66 -0
  181. package/.aict/prompts/project-context-packaging.md +113 -0
  182. package/.aict/prompts/red-team-challenge.md +106 -0
  183. package/.aict/prompts/rule-update-proposal.md +114 -0
  184. package/.aict/prompts/workflow-reset.md +109 -0
  185. package/.aict/roles/README.md +18 -0
  186. package/.aict/roles/executor.md +34 -0
  187. package/.aict/roles/harvester.md +33 -0
  188. package/.aict/roles/owner-controller.md +38 -0
  189. package/.aict/roles/scout.md +33 -0
  190. package/.aict/roles/supervisor.md +34 -0
  191. package/.aict/roles/system-guardian.md +34 -0
  192. package/.aict/skills/acceptance/SKILL.md +43 -0
  193. package/.aict/skills/context/SKILL.md +44 -0
  194. package/.aict/skills/evidence-pack/SKILL.md +42 -0
  195. package/.aict/skills/guard/SKILL.md +46 -0
  196. package/.aict/skills/handoff/SKILL.md +44 -0
  197. package/.aict/skills/harvest/SKILL.md +44 -0
  198. package/.aict/skills/mode-switch/SKILL.md +42 -0
  199. package/.aict/skills/profile/SKILL.md +42 -0
  200. package/.aict/skills/red-team/SKILL.md +42 -0
  201. package/.aict/skills/single-tool-guard/SKILL.md +42 -0
  202. package/.aict/state/CURRENT_STATE.md +13 -0
  203. package/.aict/state/DECISIONS.md +7 -0
  204. package/.aict/state/TASK_LOG.md +7 -0
  205. package/.aict/state/evidence.jsonl +2 -0
  206. package/.aict/state/learning-ledger.jsonl +1 -0
  207. package/.aict/state/receipts.jsonl +1 -0
  208. package/.aict/state/runs.jsonl +1 -0
  209. package/.aict/state/tasks.jsonl +1 -0
  210. package/.aict/walkthroughs/10-minute-your-task.md +107 -0
  211. package/.aict/walkthroughs/10-minute.md +43 -0
  212. package/.aict/walkthroughs/30-minute.md +22 -0
  213. package/.aict/walkthroughs/60-minute.md +27 -0
  214. package/.aict/walkthroughs/synthetic-loop-transcript.md +43 -0
  215. package/CHANGELOG.md +23 -0
  216. package/CODE_OF_CONDUCT.md +20 -0
  217. package/CONTRIBUTING.md +30 -0
  218. package/KNOWN_LIMITATIONS.md +54 -0
  219. package/LICENSE +199 -0
  220. package/PRODUCT_CONTRACT.md +446 -0
  221. package/README.md +245 -0
  222. package/RELEASE_CHECKLIST.md +78 -0
  223. package/SECURITY.md +56 -0
  224. package/START_HERE.md +89 -0
  225. package/bin/ai-collab.js +2 -0
  226. package/docs/DOGFOOD.md +85 -0
  227. package/docs/FEEDBACK.md +61 -0
  228. package/docs/FIRST_EXPERIENCE_SPEC.md +32 -0
  229. package/docs/FREE_VS_PAID.md +53 -0
  230. package/docs/PUBLIC_BOUNDARY.md +36 -0
  231. package/docs/PUBLIC_MAPPING.md +178 -0
  232. package/docs/RELEASE_PRIORITY.md +23 -0
  233. package/docs/WHY_THIS_EXISTS.md +36 -0
  234. package/docs/open-system/00-start-here.md +60 -0
  235. package/docs/open-system/01-ai-collaboration-os.md +33 -0
  236. package/docs/open-system/02-six-layer-architecture.md +45 -0
  237. package/docs/open-system/03-role-system.md +33 -0
  238. package/docs/open-system/04-core-mechanisms.md +34 -0
  239. package/docs/open-system/05-failure-patterns.md +31 -0
  240. package/docs/open-system/06-how-to-adapt-to-your-workflow.md +31 -0
  241. package/package.json +69 -0
  242. package/privacy-manifest.json +78 -0
  243. package/privacy-scan.local.json.example +18 -0
  244. package/scripts/lib/forbidden-in-pack.js +55 -0
  245. package/scripts/pack-check.js +154 -0
  246. package/scripts/privacy-scan.js +487 -0
  247. package/scripts/validate-contract.js +160 -0
  248. package/src/adapters.js +590 -0
  249. package/src/bootstrap.js +1184 -0
  250. package/src/catalog.js +2723 -0
  251. package/src/cli.js +2899 -0
  252. package/src/dialogue.js +470 -0
  253. package/src/i18n.js +1034 -0
  254. package/src/ledger.js +2011 -0
  255. package/src/render.js +1381 -0
  256. package/src/sendmodel.js +452 -0
  257. package/src/validate.js +1307 -0
  258. package/src/workspace.js +1679 -0
  259. package/tests/contract.test.js +8514 -0
@@ -0,0 +1,82 @@
1
+ # Handoff A/B/C
2
+
3
+ Part of the AI Collaboration Open System. This is a local-first, public-safe mechanism package you can copy into Claude Code, Codex, Cursor, Cline, Windsurf, or Copilot.
4
+
5
+ ## Purpose
6
+
7
+ Externalize the current state into a structured handoff packet so ANY AI or session can pick up from where the work actually is, instead of the human re-explaining the background every time a tool or session changes. A/B/C are three handoff modes for three situations: A = high-interaction handoff (a human and AI trading turns inside the same tool, lightweight resume); B = programmatic handoff (a clear task an executor picks up and drives to completion on its own); C = delivery overview (a human-facing total account of what one phase produced). Whichever mode, the packet carries the same load-bearing fields so the receiver never starts from zero.
8
+
9
+ ## When to use
10
+
11
+ Use whenever continuity is about to break or pass to someone else: a session stops with the work half-done, a different AI tool takes over, a long task crosses a natural seam, or a phase finishes and someone needs the result without reading the whole chat. Pick A for a same-tool resume, B for handing a defined task to an executor, C for reporting a finished phase to a human.
12
+
13
+ ## When not to use
14
+
15
+ Skip a full handoff packet for work that is not actually being passed on: a single self-contained reply you finish in the same turn, a throwaway exploration nobody will continue, or a trivial step where re-explaining the context would take less than writing the packet. A heavy handoff on work that never gets handed off is pure overhead, and overhead with no payoff trains people to skip the packet when a real handoff finally needs it.
16
+
17
+ ## Input shape
18
+
19
+ Where the work is now (what is done, in plain state terms). The evidence that backs that state (command output, test result, a reviewed artifact, or a clear note that none exists yet). What it is blocked or waiting on, if anything. The single most concrete next action the receiver should take first. The baseline: the exact version, commit, branch, or state the receiver should start from, so they do not pick up the wrong copy. Which handoff mode applies (A high-interaction / B programmatic / C delivery overview), because it changes how much context the packet carries.
20
+
21
+ ## Input materials
22
+
23
+ - Current state — where the work actually is, written as fact not hope: what is finished, what is in flight, what has not been started. This is the field that replaces 're-explain the background'.
24
+ - Supporting evidence — the proof each piece of 'done' rests on (a passing test, a command's output, a reviewed file), or an explicit 'no evidence yet' so the receiver does not over-trust the state.
25
+ - Blocker / waiting-on — what is stopping forward progress right now (a missing decision, an unfinished dependency, an unanswered question), or 'none'.
26
+ - Next concrete action — the one specific first move the receiver should make, phrased so they can act without asking 'so what do I do first?'.
27
+ - Baseline — the exact starting point: version, commit, branch, file set, or named state the receiver must begin from, so a handoff cannot land on the wrong copy.
28
+ - Handoff mode — A (high-interaction same-tool resume), B (programmatic task an executor drives alone), or C (delivery overview for a human), since the mode sets how lightweight or complete the packet should be.
29
+
30
+ ## Process
31
+
32
+ 1. Pick the handoff mode first. A = high-interaction: a human and AI are mid-conversation in one tool and you just need a lightweight 'where we are' so the next turn continues cleanly. B = programmatic: you are handing a defined task to an executor (another tool or fresh session) that will run it to completion on its own, so the packet must be self-contained. C = delivery overview: a phase is finished and a human needs the total account, so the packet is a readable result summary, not a work ticket. The mode decides how much the packet carries.
33
+ 2. Write the current state as fact, not optimism. Say what is actually done, what is in flight, and what has not started. Resist 'basically done' — if it is not verified, it is not done. This block is the whole point: it is what lets the receiver skip 're-explain the background'.
34
+ 3. Attach the evidence for each claimed-done item: the test that passed, the command output, the reviewed artifact. Where there is no evidence yet, say so plainly. State without evidence is a guess wearing a fact's clothes.
35
+ 4. Name the blocker or waiting-on, if any, and the single most concrete next action. The next action must be specific enough to act on immediately — 'run the package dry-run against a temp cache and check the file list', not 'continue the task'.
36
+ 5. Pin the baseline: the exact commit / version / branch / state the receiver starts from. Without it, a parallel edit or a stale copy silently diverges and the handoff lands on the wrong work.
37
+ 6. Hand off in the chosen mode and stop at the stated stop condition. For A, keep it short and resume in place. For B, the executor takes it and drives to completion. For C, the human reads the overview and decides. Do not pad an A resume into a full B packet, and do not shrink a B packet a stranger must run alone down to an A-sized note.
38
+
39
+ ## Output shape
40
+
41
+ - Handoff mode: A (high-interaction resume) / B (programmatic task) / C (delivery overview), and one line on why that mode fits.
42
+ - Current state: what is done / in flight / not started, written as fact.
43
+ - Evidence: the proof behind each 'done', or an explicit 'no evidence yet'.
44
+ - Blocker / waiting-on: what is stopping progress, or 'none'.
45
+ - Next concrete action: the single specific first move the receiver should make.
46
+ - Baseline: the exact commit / version / branch / state to start from.
47
+ - Stop condition: where this handoff ends and the receiver takes over.
48
+
49
+ ## Pass bar (what counts as done / safe to trust)
50
+
51
+ - The handoff mode (A / B / C) is named and fits the situation — a same-tool resume is not bloated into a full task packet, and a stranger-runnable task is not shrunk to a one-liner.
52
+ - The current state is written as fact, with no 'basically done' standing in for unverified work.
53
+ - Every claimed-done item has evidence attached, or is explicitly marked 'no evidence yet'.
54
+ - There is exactly one concrete next action the receiver can act on without asking what to do first.
55
+ - The baseline is pinned (commit / version / branch / state), so the receiver cannot pick up the wrong copy.
56
+ - A receiver with no access to the original chat could continue from this packet alone.
57
+
58
+ ## Reject bar (what sends it back)
59
+
60
+ - No mode is chosen, so the packet is either too thin for a stranger to run or too heavy for a quick same-tool resume.
61
+ - The current state hides unverified work behind 'basically done' or 'almost there'.
62
+ - A 'done' claim has no evidence and is not marked as unverified — the receiver inherits a hidden gap.
63
+ - There is no concrete next action, or there are five vague ones and no single first move.
64
+ - The baseline is missing, so the receiver can silently start from the wrong version or a stale copy.
65
+ - The packet only makes sense to someone who already read the whole conversation, which defeats the purpose.
66
+
67
+ ## Common misuse
68
+
69
+ - Writing every handoff as a maximal B packet, including a two-line same-tool resume, so the heavy ceremony makes people stop writing handoffs at all.
70
+ - Letting the current-state block drift into wishful 'basically done' instead of fact, so the receiver trusts work that was never verified.
71
+ - Giving the state with no evidence and no 'unverified' label, so a guess gets inherited as a confirmed fact.
72
+ - Listing decision points and options but no single concrete next action, leaving the receiver to re-derive 'so what do I actually do first?'.
73
+ - Skipping the baseline because 'it's obvious', then a parallel edit or stale checkout makes the receiver continue on the wrong copy.
74
+ - Writing a packet that silently assumes the original chat history, so it only works for the same session it was meant to replace.
75
+
76
+ ## Package files
77
+
78
+ - `README.md` explains the mechanism.
79
+ - `PROMPT.md` gives the copy-paste prompt.
80
+ - `TEMPLATE.md` gives the blank operating card.
81
+ - `EXAMPLE.synthetic.md` shows a public-safe run.
82
+ - `FAILURE_MODES.md` names common ways this mechanism fails.
@@ -0,0 +1,60 @@
1
+ # Handoff A/B/C Template
2
+
3
+ AI Collaboration Open System mechanism card. Fill this in a local-first workflow with public-safe or redacted material.
4
+
5
+ ## Purpose
6
+
7
+ Externalize the current state into a structured handoff packet so ANY AI or session can pick up from where the work actually is, instead of the human re-explaining the background every time a tool or session changes. A/B/C are three handoff modes for three situations: A = high-interaction handoff (a human and AI trading turns inside the same tool, lightweight resume); B = programmatic handoff (a clear task an executor picks up and drives to completion on its own); C = delivery overview (a human-facing total account of what one phase produced). Whichever mode, the packet carries the same load-bearing fields so the receiver never starts from zero.
8
+
9
+ ## Template
10
+
11
+ ### Handoff mode (A high-interaction / B programmatic / C delivery overview) + why this mode:
12
+
13
+
14
+ ### Current state (done / in flight / not started — as fact, not 'basically done'):
15
+
16
+
17
+ ### Evidence behind each 'done' (or explicit 'no evidence yet'):
18
+
19
+
20
+ ### Blocker / waiting-on (or 'none'):
21
+
22
+
23
+ ### Next concrete action (one specific first move the receiver can act on):
24
+
25
+
26
+ ### Baseline (exact commit / version / branch / state to start from):
27
+
28
+
29
+ ### Stop condition (where this handoff ends and the receiver takes over):
30
+
31
+
32
+
33
+ ## Pass bar (tick before you trust the result)
34
+
35
+ - The handoff mode (A / B / C) is named and fits the situation — a same-tool resume is not bloated into a full task packet, and a stranger-runnable task is not shrunk to a one-liner.
36
+ - The current state is written as fact, with no 'basically done' standing in for unverified work.
37
+ - Every claimed-done item has evidence attached, or is explicitly marked 'no evidence yet'.
38
+ - There is exactly one concrete next action the receiver can act on without asking what to do first.
39
+ - The baseline is pinned (commit / version / branch / state), so the receiver cannot pick up the wrong copy.
40
+ - A receiver with no access to the original chat could continue from this packet alone.
41
+
42
+ ## Reject bar (send it back if any of these is true)
43
+
44
+ - No mode is chosen, so the packet is either too thin for a stranger to run or too heavy for a quick same-tool resume.
45
+ - The current state hides unverified work behind 'basically done' or 'almost there'.
46
+ - A 'done' claim has no evidence and is not marked as unverified — the receiver inherits a hidden gap.
47
+ - There is no concrete next action, or there are five vague ones and no single first move.
48
+ - The baseline is missing, so the receiver can silently start from the wrong version or a stale copy.
49
+ - The packet only makes sense to someone who already read the whole conversation, which defeats the purpose.
50
+
51
+ ## Worked example
52
+
53
+ See `EXAMPLE.synthetic.md` for this same card filled out end to end on a public-safe synthetic task.
54
+
55
+ ## Completion check
56
+
57
+ - The mechanism has a named trigger.
58
+ - The next action is concrete.
59
+ - Private details are redacted or rewritten as synthetic examples.
60
+ - The result can be handed to another AI tool without extra chat history.
@@ -0,0 +1,43 @@
1
+ # Harvest and External Recap Synthetic Example
2
+
3
+ This is a public-safe synthetic example for the AI Collaboration Open System. It is local-first and contains no private account, customer, route, hook, or conversation material.
4
+
5
+ ## Synthetic example
6
+
7
+ A single-conversation harvest turns one discussion into two cards — a decision card ('chose the temp-cache dry-run path because it isolates the local-cache failure') and a lesson card ('do not label a release before the packaged smoke test runs') — each redacted into public-safe wording, confirmed by the human, and filed; ERC would do the same across several past sessions, but only under its fresh-session-plus-explicit-role double lock.
8
+
9
+ ## Full worked example (filled end to end)
10
+
11
+ A working session ends with a real choice having been made about how to verify a synthetic app's release. The discussion is full of useful judgment that would otherwise evaporate. The human says 'harvest this', so the AI sweeps the conversation, proposes cards, redacts them, and files the confirmed ones. (An External Recap would look the same but span several past sessions — here it is a single-conversation harvest, so the ERC double lock is noted as not engaged.)
12
+
13
+ ### Source conversation swept
14
+ One working session that debated how to confirm a release was safe, hit a snag with a local cache during packaging, and settled on a specific verification path.
15
+
16
+ ### Candidate items by type
17
+ - Decision: the team chose to run the package dry-run against a temporary cache rather than the default local cache.
18
+ - Lesson: an earlier near-miss happened because a release was labeled before the packaged smoke test had run.
19
+ - (Considered and dropped) a passing remark about file naming — one-off, no reuse value, not carded.
20
+
21
+ ### Harvest cards
22
+ Card 1 — DECISION. What: when packaging fails only because of a stale local cache, run the dry-run against a temporary cache to isolate the real file-list check from the cache noise. Why reusable: the same cache trap recurs across releases. Target knowledge base: the team's release-practices notes.
23
+ Card 2 — LESSON. What: never move a release label from 'candidate' to 'releasable' before the packaged smoke test has actually run and shown a complete file list. Why reusable: it is a guardrail that prevents shipping an incomplete package. Target knowledge base: the release-practices notes, under pre-release checks.
24
+
25
+ ### Redaction record (before filing)
26
+ Replaced the specific app name with 'a synthetic note app'; replaced concrete local cache paths with 'the local cache' / 'a temporary cache'; removed the contributor's name and referred to 'the human' / 'the team'. No real names, paths, or internal numbers remain on either card.
27
+
28
+ ### Repeat evidence for the rule
29
+ Card 2 is proposed as a standing rule, so it is backed by more than this one chat: the same 'labeled too early' miss had shown up in a prior release loop. Two occurrences, not one, justify generalizing it into a rule. Card 1 is filed as a reusable method, not a hard rule, so it needs less.
30
+
31
+ ### Human confirmation per card
32
+ Card 1: confirmed, filed as written. Card 2: confirmed with a small edit (the human tightened 'smoke test' to 'packaged smoke test' for precision), then filed. The dropped file-naming remark: confirmed dropped.
33
+
34
+ ### ERC double-lock check
35
+ Not engaged. This is a single-conversation harvest inside the working session, not a cross-session recap. The External Recap role would require a brand-new session AND an explicit human declaration of that role before it could run across several past conversations; neither applies here, so harvest runs in its ordinary single-conversation form.
36
+
37
+ ## How the mechanism changes the outcome
38
+
39
+ Without this mechanism, a single assistant can produce a smooth answer while hiding uncertainty. With this mechanism, the workflow records trigger, evidence, decision, residual risk, and next action.
40
+
41
+ ## Reuse note
42
+
43
+ Copy the shape, not the synthetic facts. Adapt the template to your own redacted task.
@@ -0,0 +1,25 @@
1
+ # Harvest and External Recap Failure Modes
2
+
3
+ AI Collaboration Open System failure checklist. Use it in a local-first workflow before trusting a mechanism run, and rewrite any public example into public-safe language.
4
+
5
+ ## Failure modes
6
+
7
+ - Harvest stores every detail and becomes clutter.
8
+ - External recap exposes private source material.
9
+ - A single incident becomes a permanent rule without repeated evidence.
10
+
11
+ ## Common misuse (operator errors that look fine but break the mechanism)
12
+
13
+ - Treating harvest as 'save the whole transcript' — storing everything as cards until the knowledge base is clutter no one reads.
14
+ - Filing a genuinely useful card before redacting it, so a real name, local path, or internal number leaks into the knowledge base.
15
+ - Generalizing from one bad run into a permanent rule, so a single incident hardens into law without the pattern ever repeating.
16
+ - Writing cards straight into the knowledge base without the human's confirmation, turning 'propose' into 'decide'.
17
+ - Slipping into the External Recap role mid-conversation or in a live working session, so ERC fires without its double lock and sweeps ordinary chat.
18
+ - Letting ERC paste or rewrite the raw source conversations instead of producing redacted, confirmable recap cards — which re-exposes exactly the private material harvest is supposed to strip.
19
+
20
+ ## Guard questions
21
+
22
+ 1. Did this mechanism change the decision, or just add ceremony?
23
+ 2. Is any private material copied instead of summarized or synthesized?
24
+ 3. Are blockers, residual risks, and next actions separated?
25
+ 4. Could a new session continue from this file alone?
@@ -0,0 +1,74 @@
1
+ # Harvest and External Recap Prompt
2
+
3
+ This prompt belongs to the AI Collaboration Open System. Use it in a local-first workflow with public-safe or redacted material.
4
+
5
+ ## Purpose
6
+
7
+ Stop reusable value from leaking away. Valuable decisions, lessons, methods, and stable preferences get buried in long conversations and are never recovered. Harvest sweeps a conversation, lifts the reusable bits into harvest cards (one card per item — a decision, a lesson, a method, a stable preference), the human confirms them, and they land in the right knowledge base. Redaction is a built-in step, not an afterthought: before anything is filed, private material is rewritten into a general, public-safe form. External Recap (ERC) is a separate, dedicated role that runs harvest across MANY conversations at once — guarded by a double lock (a brand-new session AND the human explicitly declaring that role) so an ordinary chat is never swept by accident.
8
+
9
+ ## Copy-paste prompt
10
+
11
+ ```text
12
+ Use the Harvest and External Recap mechanism from my local AI Collaboration Open System workspace.
13
+
14
+ Purpose:
15
+ Stop reusable value from leaking away. Valuable decisions, lessons, methods, and stable preferences get buried in long conversations and are never recovered. Harvest sweeps a conversation, lifts the reusable bits into harvest cards (one card per item — a decision, a lesson, a method, a stable preference), the human confirms them, and they land in the right knowledge base. Redaction is a built-in step, not an afterthought: before anything is filed, private material is rewritten into a general, public-safe form. External Recap (ERC) is a separate, dedicated role that runs harvest across MANY conversations at once — guarded by a double lock (a brand-new session AND the human explicitly declaring that role) so an ordinary chat is never swept by accident.
16
+
17
+ Trigger:
18
+ Run a single-conversation harvest when a discussion produced something worth keeping: a real decision got made, a lesson was paid for, a method was figured out, a stable preference surfaced, or a loop finished. Enter the External Recap role only under the double lock — a fresh session plus an explicit human declaration of the recap role — and only when the job is genuinely cross-conversation (recapping several past sessions at once, not extracting from the current one).
19
+
20
+ Do not use when:
21
+ Do not harvest a chat that produced nothing durable: a quick fact lookup, a dead-end exploration, a routine step with no reusable insight. Do not let a one-off incident become a permanent rule before the pattern has actually repeated. And do not slip into the External Recap role mid-conversation or in an active working session — without the double lock, ERC would fire on everyday chat and bury the knowledge base in low-value cards. Harvesting noise is worse than missing it: a knowledge base full of trivia is one nobody trusts or reads.
22
+
23
+ Input:
24
+ [paste redacted task material, context package, and acceptance card here]
25
+
26
+ Process:
27
+ 1. Sweep the source conversation end to end and pull out candidate reusable items, each tagged by type: decision, lesson, method, or stable preference. Do not generalize from a single occurrence — a one-off only becomes a rule once the pattern has actually repeated.
28
+ 2. Turn each candidate into a harvest card: one item per card, stating what it is, why it is reusable, and where it should be filed. A decision card records the choice and the reason; a lesson card records what went wrong and what to do differently; a method card records the repeatable steps; a preference card records the stable want and the evidence it is stable.
29
+ 3. Redact as a built-in step, before filing — never after. Replace private material (real names, local paths, internal numbers, customer or person references) with general, public-safe wording. A card that still carries private specifics is not ready to file, no matter how useful it is.
30
+ 4. Show the cards to the human and let them confirm, edit, or drop each one. Harvest proposes; the human disposes. Nothing lands in a knowledge base on the AI's say-so alone.
31
+ 5. File each confirmed, redacted card into its target knowledge base, and log it so the same insight is not re-harvested next time.
32
+ 6. For External Recap (ERC): only with the double lock satisfied (fresh session + explicit human role declaration), run the same harvest across the named set of prior conversations, produce cross-conversation cards and candidates, and hand them back for the human to confirm — recapping, not rewriting the source history, and still redacting before anything is filed.
33
+
34
+ Output shape:
35
+ - Harvest cards: one per reusable item, each tagged decision / lesson / method / stable preference, with what it is and why it is reusable.
36
+ - Target knowledge base for each card: where it lands once confirmed.
37
+ - Redaction record: which private specifics were rewritten into general form before filing.
38
+ - Repeat evidence for any card proposed as a rule: the occurrences that justify generalizing.
39
+ - Human confirmation: the yes / edit / drop decision recorded per card.
40
+ - ERC scope (ERC only): the set of conversations recapped and the double-lock confirmation that authorized the role.
41
+
42
+ Return:
43
+ - Decision-changing findings only
44
+ - Evidence used
45
+ - Required fixes
46
+ - Residual risk
47
+ - Next action
48
+
49
+ Pass bar (do not pass unless all hold):
50
+ - Each reusable item became its own card, tagged by type, instead of a vague 'lessons learned' blob.
51
+ - Every card was redacted into public-safe wording before filing — no private names, paths, internal numbers, or person references survive.
52
+ - Anything proposed as a reusable rule rests on a repeated pattern, not a single incident.
53
+ - The human confirmed (or edited / dropped) each card; nothing was filed on the AI's say-so alone.
54
+ - Each confirmed card landed in a named knowledge base and was logged so it is not re-harvested.
55
+ - If the External Recap role was used, the double lock (fresh session + explicit role declaration) was satisfied and recorded.
56
+
57
+ Reject bar (send back if any holds):
58
+ - Harvest stored every detail as cards, so the knowledge base fills with trivia and nobody trusts it.
59
+ - A card was filed with private specifics still in it — redaction was skipped or left for 'later'.
60
+ - A single occurrence was promoted straight to a permanent rule with no repeated evidence.
61
+ - Cards were written into a knowledge base without the human confirming them.
62
+ - The External Recap role ran without the double lock — on an everyday chat or inside an active working session.
63
+ - ERC rewrote or exposed the raw source history instead of producing redacted, confirmable recap cards.
64
+
65
+ Rules:
66
+ - Work from provided material only.
67
+ - Keep private material local.
68
+ - Use public-safe synthetic wording for examples.
69
+ - Label assumptions and unverified claims.
70
+ ```
71
+
72
+ ## Full worked example
73
+
74
+ See `EXAMPLE.synthetic.md` for this prompt run from start to finish on a public-safe synthetic task.
@@ -0,0 +1,81 @@
1
+ # Harvest and External Recap
2
+
3
+ Part of the AI Collaboration Open System. This is a local-first, public-safe mechanism package you can copy into Claude Code, Codex, Cursor, Cline, Windsurf, or Copilot.
4
+
5
+ ## Purpose
6
+
7
+ Stop reusable value from leaking away. Valuable decisions, lessons, methods, and stable preferences get buried in long conversations and are never recovered. Harvest sweeps a conversation, lifts the reusable bits into harvest cards (one card per item — a decision, a lesson, a method, a stable preference), the human confirms them, and they land in the right knowledge base. Redaction is a built-in step, not an afterthought: before anything is filed, private material is rewritten into a general, public-safe form. External Recap (ERC) is a separate, dedicated role that runs harvest across MANY conversations at once — guarded by a double lock (a brand-new session AND the human explicitly declaring that role) so an ordinary chat is never swept by accident.
8
+
9
+ ## When to use
10
+
11
+ Run a single-conversation harvest when a discussion produced something worth keeping: a real decision got made, a lesson was paid for, a method was figured out, a stable preference surfaced, or a loop finished. Enter the External Recap role only under the double lock — a fresh session plus an explicit human declaration of the recap role — and only when the job is genuinely cross-conversation (recapping several past sessions at once, not extracting from the current one).
12
+
13
+ ## When not to use
14
+
15
+ Do not harvest a chat that produced nothing durable: a quick fact lookup, a dead-end exploration, a routine step with no reusable insight. Do not let a one-off incident become a permanent rule before the pattern has actually repeated. And do not slip into the External Recap role mid-conversation or in an active working session — without the double lock, ERC would fire on everyday chat and bury the knowledge base in low-value cards. Harvesting noise is worse than missing it: a knowledge base full of trivia is one nobody trusts or reads.
16
+
17
+ ## Input shape
18
+
19
+ The full conversation text to sweep (or, for ERC, the set of past conversations to recap). The candidate reusable items spotted in it — decisions, lessons, methods, stable preferences. The target knowledge base each item should land in. The private-material boundary: which names, paths, numbers, and specifics must be rewritten before anything is filed. For ERC specifically, proof of the double lock: that this is a fresh session and that the human explicitly asked for the recap role.
20
+
21
+ ## Input materials
22
+
23
+ - Source conversation(s) — the full text to sweep for a single harvest, or the named set of prior sessions to recap for ERC. You cannot harvest what you did not actually read.
24
+ - Candidate items — the reusable things spotted in the source, each tagged by type: a decision ('we chose X over Y'), a lesson ('this failed because Z'), a method ('here is the repeatable way to do W'), or a stable preference ('the human consistently wants V').
25
+ - Target knowledge base — where each confirmed card belongs, so a card is filed, not just written and lost.
26
+ - Private-material boundary — the specific names, local paths, internal numbers, customer or person references that must be rewritten into general form before filing. This is the redaction map.
27
+ - Human confirmation gate — the explicit yes/no on each card before it lands, so harvest proposes and the human disposes.
28
+ - ERC double-lock proof (ERC only) — evidence that this is a fresh session AND that the human explicitly declared the recap role, since ERC may not run without both.
29
+
30
+ ## Process
31
+
32
+ 1. Sweep the source conversation end to end and pull out candidate reusable items, each tagged by type: decision, lesson, method, or stable preference. Do not generalize from a single occurrence — a one-off only becomes a rule once the pattern has actually repeated.
33
+ 2. Turn each candidate into a harvest card: one item per card, stating what it is, why it is reusable, and where it should be filed. A decision card records the choice and the reason; a lesson card records what went wrong and what to do differently; a method card records the repeatable steps; a preference card records the stable want and the evidence it is stable.
34
+ 3. Redact as a built-in step, before filing — never after. Replace private material (real names, local paths, internal numbers, customer or person references) with general, public-safe wording. A card that still carries private specifics is not ready to file, no matter how useful it is.
35
+ 4. Show the cards to the human and let them confirm, edit, or drop each one. Harvest proposes; the human disposes. Nothing lands in a knowledge base on the AI's say-so alone.
36
+ 5. File each confirmed, redacted card into its target knowledge base, and log it so the same insight is not re-harvested next time.
37
+ 6. For External Recap (ERC): only with the double lock satisfied (fresh session + explicit human role declaration), run the same harvest across the named set of prior conversations, produce cross-conversation cards and candidates, and hand them back for the human to confirm — recapping, not rewriting the source history, and still redacting before anything is filed.
38
+
39
+ ## Output shape
40
+
41
+ - Harvest cards: one per reusable item, each tagged decision / lesson / method / stable preference, with what it is and why it is reusable.
42
+ - Target knowledge base for each card: where it lands once confirmed.
43
+ - Redaction record: which private specifics were rewritten into general form before filing.
44
+ - Repeat evidence for any card proposed as a rule: the occurrences that justify generalizing.
45
+ - Human confirmation: the yes / edit / drop decision recorded per card.
46
+ - ERC scope (ERC only): the set of conversations recapped and the double-lock confirmation that authorized the role.
47
+
48
+ ## Pass bar (what counts as done / safe to trust)
49
+
50
+ - Each reusable item became its own card, tagged by type, instead of a vague 'lessons learned' blob.
51
+ - Every card was redacted into public-safe wording before filing — no private names, paths, internal numbers, or person references survive.
52
+ - Anything proposed as a reusable rule rests on a repeated pattern, not a single incident.
53
+ - The human confirmed (or edited / dropped) each card; nothing was filed on the AI's say-so alone.
54
+ - Each confirmed card landed in a named knowledge base and was logged so it is not re-harvested.
55
+ - If the External Recap role was used, the double lock (fresh session + explicit role declaration) was satisfied and recorded.
56
+
57
+ ## Reject bar (what sends it back)
58
+
59
+ - Harvest stored every detail as cards, so the knowledge base fills with trivia and nobody trusts it.
60
+ - A card was filed with private specifics still in it — redaction was skipped or left for 'later'.
61
+ - A single occurrence was promoted straight to a permanent rule with no repeated evidence.
62
+ - Cards were written into a knowledge base without the human confirming them.
63
+ - The External Recap role ran without the double lock — on an everyday chat or inside an active working session.
64
+ - ERC rewrote or exposed the raw source history instead of producing redacted, confirmable recap cards.
65
+
66
+ ## Common misuse
67
+
68
+ - Treating harvest as 'save the whole transcript' — storing everything as cards until the knowledge base is clutter no one reads.
69
+ - Filing a genuinely useful card before redacting it, so a real name, local path, or internal number leaks into the knowledge base.
70
+ - Generalizing from one bad run into a permanent rule, so a single incident hardens into law without the pattern ever repeating.
71
+ - Writing cards straight into the knowledge base without the human's confirmation, turning 'propose' into 'decide'.
72
+ - Slipping into the External Recap role mid-conversation or in a live working session, so ERC fires without its double lock and sweeps ordinary chat.
73
+ - Letting ERC paste or rewrite the raw source conversations instead of producing redacted, confirmable recap cards — which re-exposes exactly the private material harvest is supposed to strip.
74
+
75
+ ## Package files
76
+
77
+ - `README.md` explains the mechanism.
78
+ - `PROMPT.md` gives the copy-paste prompt.
79
+ - `TEMPLATE.md` gives the blank operating card.
80
+ - `EXAMPLE.synthetic.md` shows a public-safe run.
81
+ - `FAILURE_MODES.md` names common ways this mechanism fails.
@@ -0,0 +1,60 @@
1
+ # Harvest and External Recap Template
2
+
3
+ AI Collaboration Open System mechanism card. Fill this in a local-first workflow with public-safe or redacted material.
4
+
5
+ ## Purpose
6
+
7
+ Stop reusable value from leaking away. Valuable decisions, lessons, methods, and stable preferences get buried in long conversations and are never recovered. Harvest sweeps a conversation, lifts the reusable bits into harvest cards (one card per item — a decision, a lesson, a method, a stable preference), the human confirms them, and they land in the right knowledge base. Redaction is a built-in step, not an afterthought: before anything is filed, private material is rewritten into a general, public-safe form. External Recap (ERC) is a separate, dedicated role that runs harvest across MANY conversations at once — guarded by a double lock (a brand-new session AND the human explicitly declaring that role) so an ordinary chat is never swept by accident.
8
+
9
+ ## Template
10
+
11
+ ### Source conversation(s) swept (single harvest) or recapped (ERC):
12
+
13
+
14
+ ### Candidate items by type (decision / lesson / method / stable preference):
15
+
16
+
17
+ ### Harvest cards (one item each: what it is + why reusable + target knowledge base):
18
+
19
+
20
+ ### Redaction record (private specifics rewritten into general form, before filing):
21
+
22
+
23
+ ### Repeat evidence (occurrences) for anything proposed as a rule:
24
+
25
+
26
+ ### Human confirmation per card (yes / edit / drop):
27
+
28
+
29
+ ### ERC double-lock check (fresh session + explicit role declaration) — ERC only:
30
+
31
+
32
+
33
+ ## Pass bar (tick before you trust the result)
34
+
35
+ - Each reusable item became its own card, tagged by type, instead of a vague 'lessons learned' blob.
36
+ - Every card was redacted into public-safe wording before filing — no private names, paths, internal numbers, or person references survive.
37
+ - Anything proposed as a reusable rule rests on a repeated pattern, not a single incident.
38
+ - The human confirmed (or edited / dropped) each card; nothing was filed on the AI's say-so alone.
39
+ - Each confirmed card landed in a named knowledge base and was logged so it is not re-harvested.
40
+ - If the External Recap role was used, the double lock (fresh session + explicit role declaration) was satisfied and recorded.
41
+
42
+ ## Reject bar (send it back if any of these is true)
43
+
44
+ - Harvest stored every detail as cards, so the knowledge base fills with trivia and nobody trusts it.
45
+ - A card was filed with private specifics still in it — redaction was skipped or left for 'later'.
46
+ - A single occurrence was promoted straight to a permanent rule with no repeated evidence.
47
+ - Cards were written into a knowledge base without the human confirming them.
48
+ - The External Recap role ran without the double lock — on an everyday chat or inside an active working session.
49
+ - ERC rewrote or exposed the raw source history instead of producing redacted, confirmable recap cards.
50
+
51
+ ## Worked example
52
+
53
+ See `EXAMPLE.synthetic.md` for this same card filled out end to end on a public-safe synthetic task.
54
+
55
+ ## Completion check
56
+
57
+ - The mechanism has a named trigger.
58
+ - The next action is concrete.
59
+ - Private details are redacted or rewritten as synthetic examples.
60
+ - The result can be handed to another AI tool without extra chat history.
@@ -0,0 +1,43 @@
1
+ # Honest Calibration Synthetic Example
2
+
3
+ This is a public-safe synthetic example for the AI Collaboration Open System. It is local-first and contains no private account, customer, route, hook, or conversation material.
4
+
5
+ ## Synthetic example
6
+
7
+ A writer asks an AI to rate a finished essay. With no prefix, the AI opens 'This is a compelling, well-structured piece!' and the real problem — a thesis that never actually lands — shows up softened in paragraph three. The writer re-asks with the calibration prefix at the front: 'Be candid, do not inflate and do not over-hedge, and step outside my view: what tier would this land in on a serious long-form platform, and why not higher?' Now the AI leads with the verdict ('mid-tier, would not stand out — the thesis is stated but never argued') anchored to the platform tier, names the single biggest reason first, and only then offers the fastest path up — clearly marked as a next step, not folded back into the grade.
8
+
9
+ ## Full worked example (filled end to end)
10
+
11
+ A solo founder has drafted a launch post for a synthetic product and wants to know, honestly, whether it is ready to publish. They have been staring at it for days and suspect they have lost perspective. They run Honest Calibration rather than just asking 'is this good?'.
12
+
13
+ ### Candor prefix (pasted at the FRONT of the ask)
14
+ Be candid, do not inflate and do not over-hedge. Step outside my perspective and do not grade this to make me feel good — I have been staring at it for days and I would rather hear it is mid than publish something mid thinking it is great.
15
+
16
+ ### What to judge, and what for
17
+ This launch post (pasted below). The judgment is for a real decision: publish it as-is to a public audience today, or keep working it.
18
+
19
+ ### Reference frame to measure against
20
+ Where would it land among launch posts that actually get traction — top quartile, solid-but-forgettable middle, or below the bar — and what specifically keeps it out of the top quartile?
21
+
22
+ ### Candid verdict first (no opening praise)
23
+ The AI leads with the placement, not a compliment: "Solid-but-forgettable middle. It would not embarrass you, and it would not travel. As-is, I would not publish it for a launch you only get to do once."
24
+
25
+ ### Single biggest reason it is not higher (led with, not cushioned)
26
+ "The post explains what the product does but never makes me feel the problem it removes. Top-quartile launch posts open on a sharp, specific pain the reader already feels; yours opens on a feature list. That is the one change that moves it, and everything else is secondary."
27
+
28
+ ### A tell the founder watched for, and did not find
29
+ The founder was specifically watching for the flatter-first slide-back — an answer that opened 'This is a strong, clear post!' and buried the real issue underneath. Because the candor prefix sat at the front, the verdict led with the placement instead, and the score did not drift up to match the founder's obvious hope that it was ready.
30
+
31
+ ### Fastest path up (placed LAST, marked as a next step, not a grade-softener)
32
+ "Next step, not a grade change: rewrite the opening around the single sharpest moment of the pain this removes, then re-judge. That one move is what separates the forgettable middle from a post that gets shared — the rest of the draft is already good enough to carry it once the opening lands."
33
+
34
+ ### Why the prefix changed the outcome
35
+ Asked plainly, the same model would almost certainly have opened with warmth and let the founder publish a middle-tier post on the strength of a compliment. The front-loaded candor prefix re-aimed the baseline from 'make the founder feel good' to 'tell the founder the truth', and the explicit 'do not grade to please me' hit exactly the self-evaluation case where the pull to flatter is strongest.
36
+
37
+ ## How the mechanism changes the outcome
38
+
39
+ Without this mechanism, a single assistant can produce a smooth answer while hiding uncertainty. With this mechanism, the workflow records trigger, evidence, decision, residual risk, and next action.
40
+
41
+ ## Reuse note
42
+
43
+ Copy the shape, not the synthetic facts. Adapt the template to your own redacted task.
@@ -0,0 +1,25 @@
1
+ # Honest Calibration Failure Modes
2
+
3
+ AI Collaboration Open System failure checklist. Use it in a local-first workflow before trusting a mechanism run, and rewrite any public example into public-safe language.
4
+
5
+ ## Failure modes
6
+
7
+ - Over a long session the AI drifts back to praising the user's work and the calibration prefix is never re-asserted.
8
+ - The candid verdict is undercut by an end-of-answer reassurance that quietly raises the grade.
9
+ - The prefix is treated as a fact-task ritual and stapled everywhere, so it stops registering on the evaluations that need it.
10
+
11
+ ## Common misuse (operator errors that look fine but break the mechanism)
12
+
13
+ - Stapling the prefix to plain fact lookups and direct instructions, so it becomes background noise you stop noticing on the one ask that needs it.
14
+ - Putting 'be candid' after the question instead of in front of it, so the model has already composed the agreeable answer before the stance lands.
15
+ - Accepting a suspiciously warm verdict on your own work because re-asking feels awkward — the peak-flattery case is exactly where you must re-aim.
16
+ - Treating the prefix as a one-time setting rather than re-asserting it when the thread drifts back toward pleasing you.
17
+ - Flipping the instruction into 'be harsh', so you trade a flattering distortion for a punitive one instead of getting an undistorted read.
18
+ - Letting the encouragement at the end quietly raise the grade ('it's a B, but honestly almost an A') so the candid verdict is undone in its own last line.
19
+
20
+ ## Guard questions
21
+
22
+ 1. Did this mechanism change the decision, or just add ceremony?
23
+ 2. Is any private material copied instead of summarized or synthesized?
24
+ 3. Are blockers, residual risks, and next actions separated?
25
+ 4. Could a new session continue from this file alone?
@@ -0,0 +1,74 @@
1
+ # Honest Calibration Prompt
2
+
3
+ This prompt belongs to the AI Collaboration Open System. Use it in a local-first workflow with public-safe or redacted material.
4
+
5
+ ## Purpose
6
+
7
+ Offset the model's built-in eagerness to please by pinning one short user-side prefix to the front of every ask for a rating, an evaluation, or a recommendation: be candid, do not inflate, do not over-hedge. The point is not to hope the AI will be honest — it is to know that, left uncalibrated, a model slides back toward the answer that makes you feel good, so you re-aim it on each ask. The prefix pulls the baseline from make-you-happy back to tell-the-truth, and it matters most exactly where the temptation to flatter is highest: when you are asking the AI to judge your own work, your own ability, or your own output.
8
+
9
+ ## Copy-paste prompt
10
+
11
+ ```text
12
+ Use the Honest Calibration mechanism from my local AI Collaboration Open System workspace.
13
+
14
+ Purpose:
15
+ Offset the model's built-in eagerness to please by pinning one short user-side prefix to the front of every ask for a rating, an evaluation, or a recommendation: be candid, do not inflate, do not over-hedge. The point is not to hope the AI will be honest — it is to know that, left uncalibrated, a model slides back toward the answer that makes you feel good, so you re-aim it on each ask. The prefix pulls the baseline from make-you-happy back to tell-the-truth, and it matters most exactly where the temptation to flatter is highest: when you are asking the AI to judge your own work, your own ability, or your own output.
16
+
17
+ Trigger:
18
+ Use whenever you ask the AI to grade, score, place, rank, or recommend — and most of all when the thing being judged is yours: your draft, your plan, your skill level, the quality tier your output would land in, whether something is ready to ship or publish. If a falsely high 'this is great' would cost you (you publish too early, you skip a fix, you misjudge where you really stand), put the calibration prefix in front of the ask.
19
+
20
+ Do not use when:
21
+ Do not bolt it onto a plain fact lookup or a direct instruction to carry out — there is no evaluation to calibrate, so the prefix is just noise. 'Be candid, do not inflate' in front of 'what is the capital of X' or 'rename this file' adds nothing, and a calibration ritual stapled to every message trains you to stop noticing it on the one ask where it actually changes the answer. It is also not a license to flip to harsh: the instruction is to stop both inflating AND over-hedging, not to make the AI negative on command.
22
+
23
+ Input:
24
+ [paste redacted task material, context package, and acceptance card here]
25
+
26
+ Process:
27
+ 1. Put the candor prefix first, before the actual ask. Lead the request with 'be candid, do not inflate, do not over-hedge' (or your own words for it) so the stance is set before the model reaches for the agreeable framing. A prefix after the question is half as effective as a prefix before it, because by then the answer is already forming around what would please you.
28
+ 2. Anchor the judgment to a real bar, not a vibe. Name the reference frame — a tier, a percentile, a named standard, a comparison set — so the AI cannot retreat to a safely flattering 'it's pretty good'. 'Be candid' with nothing to be candid against just produces a more confident vague compliment.
29
+ 3. Apply the strongest calibration when the subject is you. Self-evaluation is the peak-flattery case: the model most wants to please you exactly when you are asking about your own work or ability. Add the explicit 'step outside my point of view and do not grade to make me feel good' here, and treat a suspiciously warm verdict on your own output as a signal to re-ask, not as good news.
30
+ 4. Read the answer for the tells of an uncalibrated slide-back: it opens with praise and buries the real critique; every weakness is immediately cushioned ('but this is genuinely strong'); the score drifts upward with no new evidence; it agrees with your own stated hope a little too readily. Any of these means the baseline slid back toward make-you-happy and the prefix needs re-asserting.
31
+ 5. Re-aim when it slides. The model does not hold the candid stance forever — over a long thread it relaxes back into the pleasing default. When you catch the tells, restate the prefix and ask for the verdict again; do not accept the warmed-over version just because re-asking feels awkward.
32
+ 6. Separate the candid verdict from encouragement, and keep them in that order. A useful honest answer can still end with 'and here is the fastest path up' — but the true placement comes first and unhedged, and the encouragement comes after, clearly marked as the next step rather than as a softener that quietly raises the grade.
33
+
34
+ Output shape:
35
+ - A candid verdict stated first and plainly: the tier, score, percentile, or yes/no, without an opening cushion of praise.
36
+ - The anchor it was measured against (the named tier, percentile, standard, or comparison set), so the verdict is checkable rather than a floating adjective.
37
+ - The weakest part led with, not buried: the single biggest reason it is not higher, stated before any reassurance.
38
+ - No upward drift: the score does not creep higher than the evidence supports, and warmth is not substituted for a number.
39
+ - Encouragement, if any, clearly separated and placed last — the fastest path up, marked as a next step, never folded back into the grade.
40
+ - On a self-evaluation, an explicit note that the AI graded from outside your perspective rather than to please you.
41
+
42
+ Return:
43
+ - Decision-changing findings only
44
+ - Evidence used
45
+ - Required fixes
46
+ - Residual risk
47
+ - Next action
48
+
49
+ Pass bar (do not pass unless all hold):
50
+ - The candor prefix sat at the FRONT of the ask, setting the stance before the answer formed.
51
+ - The verdict is anchored to a named bar (tier / percentile / standard / comparison set), not a floating 'pretty good'.
52
+ - The weakest point is stated first and unhedged, rather than buried under an opening of praise.
53
+ - The score reflects the evidence and did not drift upward, and warmth was not used in place of a real number.
54
+ - On a self-evaluation, the AI grades from outside your perspective and says so, instead of grading to please you.
55
+ - Encouragement, if present, is separated out and placed last as a next step — never blended back into the grade.
56
+
57
+ Reject bar (send back if any holds):
58
+ - The answer opens with praise and the real critique is buried below it (the classic flatter-first slide-back).
59
+ - The verdict is a warm adjective with no anchor — 'this is strong' against nothing checkable.
60
+ - Every weakness is immediately cushioned so no honest signal survives to the reader.
61
+ - The grade crept upward across the thread with no new evidence, tracking your stated hope rather than the work.
62
+ - The prefix was tacked on AFTER the question, so the pleasing version had already formed.
63
+ - The candor was read as a license to be harsh, producing a put-down instead of an inflation-free, hedge-free truth.
64
+
65
+ Rules:
66
+ - Work from provided material only.
67
+ - Keep private material local.
68
+ - Use public-safe synthetic wording for examples.
69
+ - Label assumptions and unverified claims.
70
+ ```
71
+
72
+ ## Full worked example
73
+
74
+ See `EXAMPLE.synthetic.md` for this prompt run from start to finish on a public-safe synthetic task.