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.
- package/.aict/START_HERE.md +127 -0
- package/.aict/WORKSPACE_MANIFEST.json +91 -0
- package/.aict/acceptance/EXAMPLE.synthetic.md +49 -0
- package/.aict/acceptance/FAILURE_MODES.md +40 -0
- package/.aict/acceptance/PROMPT.md +47 -0
- package/.aict/acceptance/README.md +44 -0
- package/.aict/acceptance/TEMPLATE.md +57 -0
- package/.aict/adapters/SHARED_CORE_CONTRACT.md +106 -0
- package/.aict/adapters/claude-code/ADAPTER.md +28 -0
- package/.aict/adapters/cline/ADAPTER.md +28 -0
- package/.aict/adapters/codex/ADAPTER.md +28 -0
- package/.aict/adapters/copilot/ADAPTER.md +28 -0
- package/.aict/adapters/cursor/ADAPTER.md +28 -0
- package/.aict/adapters/windsurf/ADAPTER.md +28 -0
- package/.aict/context/EXAMPLE.synthetic.md +53 -0
- package/.aict/context/FAILURE_MODES.md +40 -0
- package/.aict/context/PROMPT.md +47 -0
- package/.aict/context/README.md +44 -0
- package/.aict/context/TEMPLATE.md +63 -0
- package/.aict/cookbook/README.md +8 -0
- package/.aict/cookbook/bridge-to-a-second-family.md +103 -0
- package/.aict/cookbook/connect-a-tool.md +67 -0
- package/.aict/cookbook/review-a-half-product.md +79 -0
- package/.aict/cookbook/run-a-first-loop.md +81 -0
- package/.aict/examples/README.md +21 -0
- package/.aict/examples/ai-coding-long-task/CASE.md +161 -0
- package/.aict/examples/ai-coding-long-task/artifacts/acceptance-card.md +36 -0
- package/.aict/examples/ai-coding-long-task/artifacts/context-package.md +30 -0
- package/.aict/examples/ai-coding-long-task/artifacts/execution-prompt.md +30 -0
- package/.aict/examples/ai-coding-long-task/artifacts/first-ai-output.md +109 -0
- package/.aict/examples/ai-coding-long-task/artifacts/guard-review.md +40 -0
- package/.aict/examples/ai-coding-long-task/artifacts/handoff-note.md +28 -0
- package/.aict/examples/ai-coding-long-task/artifacts/harvest-seed.md +28 -0
- package/.aict/examples/ai-coding-long-task/artifacts/revised-output.md +62 -0
- package/.aict/examples/content-production-harvest/CASE.md +87 -0
- package/.aict/examples/content-production-harvest/artifacts/acceptance-card.md +28 -0
- package/.aict/examples/content-production-harvest/artifacts/context-package.md +28 -0
- package/.aict/examples/content-production-harvest/artifacts/execution-prompt.md +30 -0
- package/.aict/examples/content-production-harvest/artifacts/guard-review.md +28 -0
- package/.aict/examples/content-production-harvest/artifacts/handoff-note.md +28 -0
- package/.aict/examples/content-production-harvest/artifacts/harvest-seed.md +28 -0
- package/.aict/examples/multi-tool-collaboration/CASE.md +87 -0
- package/.aict/examples/multi-tool-collaboration/artifacts/acceptance-card.md +28 -0
- package/.aict/examples/multi-tool-collaboration/artifacts/context-package.md +28 -0
- package/.aict/examples/multi-tool-collaboration/artifacts/execution-prompt.md +30 -0
- package/.aict/examples/multi-tool-collaboration/artifacts/guard-review.md +28 -0
- package/.aict/examples/multi-tool-collaboration/artifacts/handoff-note.md +28 -0
- package/.aict/examples/multi-tool-collaboration/artifacts/harvest-seed.md +28 -0
- package/.aict/examples/personal-judgment-growth-assistant/CASE.md +87 -0
- package/.aict/examples/personal-judgment-growth-assistant/artifacts/acceptance-card.md +28 -0
- package/.aict/examples/personal-judgment-growth-assistant/artifacts/context-package.md +28 -0
- package/.aict/examples/personal-judgment-growth-assistant/artifacts/execution-prompt.md +30 -0
- package/.aict/examples/personal-judgment-growth-assistant/artifacts/guard-review.md +28 -0
- package/.aict/examples/personal-judgment-growth-assistant/artifacts/handoff-note.md +28 -0
- package/.aict/examples/personal-judgment-growth-assistant/artifacts/harvest-seed.md +28 -0
- package/.aict/examples/research-knowledge-synthesis/CASE.md +87 -0
- package/.aict/examples/research-knowledge-synthesis/artifacts/acceptance-card.md +28 -0
- package/.aict/examples/research-knowledge-synthesis/artifacts/context-package.md +28 -0
- package/.aict/examples/research-knowledge-synthesis/artifacts/execution-prompt.md +30 -0
- package/.aict/examples/research-knowledge-synthesis/artifacts/guard-review.md +28 -0
- package/.aict/examples/research-knowledge-synthesis/artifacts/handoff-note.md +28 -0
- package/.aict/examples/research-knowledge-synthesis/artifacts/harvest-seed.md +28 -0
- package/.aict/guard/EXAMPLE.synthetic.md +51 -0
- package/.aict/guard/FAILURE_MODES.md +40 -0
- package/.aict/guard/PROMPT.md +47 -0
- package/.aict/guard/README.md +44 -0
- package/.aict/guard/TEMPLATE.md +60 -0
- package/.aict/handoff/EXAMPLE.synthetic.md +51 -0
- package/.aict/handoff/FAILURE_MODES.md +40 -0
- package/.aict/handoff/PROMPT.md +47 -0
- package/.aict/handoff/README.md +44 -0
- package/.aict/handoff/TEMPLATE.md +60 -0
- package/.aict/harvest/EXAMPLE.synthetic.md +51 -0
- package/.aict/harvest/FAILURE_MODES.md +40 -0
- package/.aict/harvest/PROMPT.md +47 -0
- package/.aict/harvest/README.md +44 -0
- package/.aict/harvest/TEMPLATE.md +60 -0
- package/.aict/mechanisms/README.md +34 -0
- package/.aict/mechanisms/anti-drift-partner/EXAMPLE.synthetic.md +46 -0
- package/.aict/mechanisms/anti-drift-partner/FAILURE_MODES.md +25 -0
- package/.aict/mechanisms/anti-drift-partner/PROMPT.md +75 -0
- package/.aict/mechanisms/anti-drift-partner/README.md +82 -0
- package/.aict/mechanisms/anti-drift-partner/TEMPLATE.md +74 -0
- package/.aict/mechanisms/blind-spot-scan/EXAMPLE.synthetic.md +39 -0
- package/.aict/mechanisms/blind-spot-scan/FAILURE_MODES.md +25 -0
- package/.aict/mechanisms/blind-spot-scan/PROMPT.md +72 -0
- package/.aict/mechanisms/blind-spot-scan/README.md +79 -0
- package/.aict/mechanisms/blind-spot-scan/TEMPLATE.md +70 -0
- package/.aict/mechanisms/collaboration-coach/EXAMPLE.synthetic.md +40 -0
- package/.aict/mechanisms/collaboration-coach/FAILURE_MODES.md +25 -0
- package/.aict/mechanisms/collaboration-coach/PROMPT.md +72 -0
- package/.aict/mechanisms/collaboration-coach/README.md +79 -0
- package/.aict/mechanisms/collaboration-coach/TEMPLATE.md +61 -0
- package/.aict/mechanisms/do-not-handle-yet/EXAMPLE.synthetic.md +15 -0
- package/.aict/mechanisms/do-not-handle-yet/FAILURE_MODES.md +16 -0
- package/.aict/mechanisms/do-not-handle-yet/PROMPT.md +41 -0
- package/.aict/mechanisms/do-not-handle-yet/README.md +30 -0
- package/.aict/mechanisms/do-not-handle-yet/TEMPLATE.md +38 -0
- package/.aict/mechanisms/dual-guard/EXAMPLE.synthetic.md +54 -0
- package/.aict/mechanisms/dual-guard/FAILURE_MODES.md +25 -0
- package/.aict/mechanisms/dual-guard/PROMPT.md +76 -0
- package/.aict/mechanisms/dual-guard/README.md +81 -0
- package/.aict/mechanisms/dual-guard/TEMPLATE.md +73 -0
- package/.aict/mechanisms/feedback-absorption-ledger/EXAMPLE.synthetic.md +49 -0
- package/.aict/mechanisms/feedback-absorption-ledger/FAILURE_MODES.md +25 -0
- package/.aict/mechanisms/feedback-absorption-ledger/PROMPT.md +74 -0
- package/.aict/mechanisms/feedback-absorption-ledger/README.md +81 -0
- package/.aict/mechanisms/feedback-absorption-ledger/TEMPLATE.md +69 -0
- package/.aict/mechanisms/half-product-review/EXAMPLE.synthetic.md +15 -0
- package/.aict/mechanisms/half-product-review/FAILURE_MODES.md +16 -0
- package/.aict/mechanisms/half-product-review/PROMPT.md +41 -0
- package/.aict/mechanisms/half-product-review/README.md +30 -0
- package/.aict/mechanisms/half-product-review/TEMPLATE.md +38 -0
- package/.aict/mechanisms/handoff-abc/EXAMPLE.synthetic.md +47 -0
- package/.aict/mechanisms/handoff-abc/FAILURE_MODES.md +25 -0
- package/.aict/mechanisms/handoff-abc/PROMPT.md +75 -0
- package/.aict/mechanisms/handoff-abc/README.md +82 -0
- package/.aict/mechanisms/handoff-abc/TEMPLATE.md +60 -0
- package/.aict/mechanisms/harvest-and-erc/EXAMPLE.synthetic.md +43 -0
- package/.aict/mechanisms/harvest-and-erc/FAILURE_MODES.md +25 -0
- package/.aict/mechanisms/harvest-and-erc/PROMPT.md +74 -0
- package/.aict/mechanisms/harvest-and-erc/README.md +81 -0
- package/.aict/mechanisms/harvest-and-erc/TEMPLATE.md +60 -0
- package/.aict/mechanisms/honest-calibration/EXAMPLE.synthetic.md +43 -0
- package/.aict/mechanisms/honest-calibration/FAILURE_MODES.md +25 -0
- package/.aict/mechanisms/honest-calibration/PROMPT.md +74 -0
- package/.aict/mechanisms/honest-calibration/README.md +81 -0
- package/.aict/mechanisms/honest-calibration/TEMPLATE.md +66 -0
- package/.aict/mechanisms/one-click-dispatch/EXAMPLE.synthetic.md +15 -0
- package/.aict/mechanisms/one-click-dispatch/FAILURE_MODES.md +16 -0
- package/.aict/mechanisms/one-click-dispatch/PROMPT.md +41 -0
- package/.aict/mechanisms/one-click-dispatch/README.md +30 -0
- package/.aict/mechanisms/one-click-dispatch/TEMPLATE.md +38 -0
- package/.aict/mechanisms/plain-language-first-screen/EXAMPLE.synthetic.md +15 -0
- package/.aict/mechanisms/plain-language-first-screen/FAILURE_MODES.md +16 -0
- package/.aict/mechanisms/plain-language-first-screen/PROMPT.md +41 -0
- package/.aict/mechanisms/plain-language-first-screen/README.md +30 -0
- package/.aict/mechanisms/plain-language-first-screen/TEMPLATE.md +38 -0
- package/.aict/mechanisms/root-cause-brake/EXAMPLE.synthetic.md +55 -0
- package/.aict/mechanisms/root-cause-brake/FAILURE_MODES.md +25 -0
- package/.aict/mechanisms/root-cause-brake/PROMPT.md +73 -0
- package/.aict/mechanisms/root-cause-brake/README.md +79 -0
- package/.aict/mechanisms/root-cause-brake/TEMPLATE.md +74 -0
- package/.aict/mechanisms/scout-review-controller/EXAMPLE.synthetic.md +15 -0
- package/.aict/mechanisms/scout-review-controller/FAILURE_MODES.md +16 -0
- package/.aict/mechanisms/scout-review-controller/PROMPT.md +41 -0
- package/.aict/mechanisms/scout-review-controller/README.md +30 -0
- package/.aict/mechanisms/scout-review-controller/TEMPLATE.md +38 -0
- package/.aict/mechanisms/single-tool-guard/EXAMPLE.synthetic.md +54 -0
- package/.aict/mechanisms/single-tool-guard/FAILURE_MODES.md +25 -0
- package/.aict/mechanisms/single-tool-guard/PROMPT.md +76 -0
- package/.aict/mechanisms/single-tool-guard/README.md +83 -0
- package/.aict/mechanisms/single-tool-guard/TEMPLATE.md +75 -0
- package/.aict/mechanisms/task-splitting/EXAMPLE.synthetic.md +53 -0
- package/.aict/mechanisms/task-splitting/FAILURE_MODES.md +25 -0
- package/.aict/mechanisms/task-splitting/PROMPT.md +72 -0
- package/.aict/mechanisms/task-splitting/README.md +79 -0
- package/.aict/mechanisms/task-splitting/TEMPLATE.md +76 -0
- package/.aict/modes/README.md +11 -0
- package/.aict/modes/execute.md +31 -0
- package/.aict/modes/handoff.md +29 -0
- package/.aict/modes/harvest.md +30 -0
- package/.aict/modes/review.md +28 -0
- package/.aict/modes/shape.md +34 -0
- package/.aict/privacy/COMMERCIAL_BOUNDARY.md +34 -0
- package/.aict/privacy/PRIVACY.md +36 -0
- package/.aict/privacy/REDACTION_CHECKLIST.md +12 -0
- package/.aict/profile/CANDIDATES.md +44 -0
- package/.aict/profile/EXAMPLE.synthetic.md +49 -0
- package/.aict/profile/FAILURE_MODES.md +40 -0
- package/.aict/profile/PROMPT.md +47 -0
- package/.aict/profile/README.md +44 -0
- package/.aict/profile/TEMPLATE.md +57 -0
- package/.aict/prompts/acceptance-definition.md +109 -0
- package/.aict/prompts/guard-review.md +116 -0
- package/.aict/prompts/handoff-generation.md +110 -0
- package/.aict/prompts/harvest-extraction.md +110 -0
- package/.aict/prompts/mode-switching.md +66 -0
- package/.aict/prompts/profile-creation.md +66 -0
- package/.aict/prompts/profile-refinement.md +66 -0
- package/.aict/prompts/project-context-packaging.md +113 -0
- package/.aict/prompts/red-team-challenge.md +106 -0
- package/.aict/prompts/rule-update-proposal.md +114 -0
- package/.aict/prompts/workflow-reset.md +109 -0
- package/.aict/roles/README.md +18 -0
- package/.aict/roles/executor.md +34 -0
- package/.aict/roles/harvester.md +33 -0
- package/.aict/roles/owner-controller.md +38 -0
- package/.aict/roles/scout.md +33 -0
- package/.aict/roles/supervisor.md +34 -0
- package/.aict/roles/system-guardian.md +34 -0
- package/.aict/skills/acceptance/SKILL.md +43 -0
- package/.aict/skills/context/SKILL.md +44 -0
- package/.aict/skills/evidence-pack/SKILL.md +42 -0
- package/.aict/skills/guard/SKILL.md +46 -0
- package/.aict/skills/handoff/SKILL.md +44 -0
- package/.aict/skills/harvest/SKILL.md +44 -0
- package/.aict/skills/mode-switch/SKILL.md +42 -0
- package/.aict/skills/profile/SKILL.md +42 -0
- package/.aict/skills/red-team/SKILL.md +42 -0
- package/.aict/skills/single-tool-guard/SKILL.md +42 -0
- package/.aict/state/CURRENT_STATE.md +13 -0
- package/.aict/state/DECISIONS.md +7 -0
- package/.aict/state/TASK_LOG.md +7 -0
- package/.aict/state/evidence.jsonl +2 -0
- package/.aict/state/learning-ledger.jsonl +1 -0
- package/.aict/state/receipts.jsonl +1 -0
- package/.aict/state/runs.jsonl +1 -0
- package/.aict/state/tasks.jsonl +1 -0
- package/.aict/walkthroughs/10-minute-your-task.md +107 -0
- package/.aict/walkthroughs/10-minute.md +43 -0
- package/.aict/walkthroughs/30-minute.md +22 -0
- package/.aict/walkthroughs/60-minute.md +27 -0
- package/.aict/walkthroughs/synthetic-loop-transcript.md +43 -0
- package/CHANGELOG.md +23 -0
- package/CODE_OF_CONDUCT.md +20 -0
- package/CONTRIBUTING.md +30 -0
- package/KNOWN_LIMITATIONS.md +54 -0
- package/LICENSE +199 -0
- package/PRODUCT_CONTRACT.md +446 -0
- package/README.md +245 -0
- package/RELEASE_CHECKLIST.md +78 -0
- package/SECURITY.md +56 -0
- package/START_HERE.md +89 -0
- package/bin/ai-collab.js +2 -0
- package/docs/DOGFOOD.md +85 -0
- package/docs/FEEDBACK.md +61 -0
- package/docs/FIRST_EXPERIENCE_SPEC.md +32 -0
- package/docs/FREE_VS_PAID.md +53 -0
- package/docs/PUBLIC_BOUNDARY.md +36 -0
- package/docs/PUBLIC_MAPPING.md +178 -0
- package/docs/RELEASE_PRIORITY.md +23 -0
- package/docs/WHY_THIS_EXISTS.md +36 -0
- package/docs/open-system/00-start-here.md +60 -0
- package/docs/open-system/01-ai-collaboration-os.md +33 -0
- package/docs/open-system/02-six-layer-architecture.md +45 -0
- package/docs/open-system/03-role-system.md +33 -0
- package/docs/open-system/04-core-mechanisms.md +34 -0
- package/docs/open-system/05-failure-patterns.md +31 -0
- package/docs/open-system/06-how-to-adapt-to-your-workflow.md +31 -0
- package/package.json +69 -0
- package/privacy-manifest.json +78 -0
- package/privacy-scan.local.json.example +18 -0
- package/scripts/lib/forbidden-in-pack.js +55 -0
- package/scripts/pack-check.js +154 -0
- package/scripts/privacy-scan.js +487 -0
- package/scripts/validate-contract.js +160 -0
- package/src/adapters.js +590 -0
- package/src/bootstrap.js +1184 -0
- package/src/catalog.js +2723 -0
- package/src/cli.js +2899 -0
- package/src/dialogue.js +470 -0
- package/src/i18n.js +1034 -0
- package/src/ledger.js +2011 -0
- package/src/render.js +1381 -0
- package/src/sendmodel.js +452 -0
- package/src/validate.js +1307 -0
- package/src/workspace.js +1679 -0
- package/tests/contract.test.js +8514 -0
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
# Handoff Common Failure Modes
|
|
2
|
+
|
|
3
|
+
## Purpose
|
|
4
|
+
|
|
5
|
+
Transfer current state, decisions, evidence, blockers, and next actions to another session or tool without replaying the whole conversation.
|
|
6
|
+
|
|
7
|
+
## When to use
|
|
8
|
+
|
|
9
|
+
Read this before trusting a handoff artifact.
|
|
10
|
+
|
|
11
|
+
## Input shape
|
|
12
|
+
|
|
13
|
+
The artifact plus the original context and acceptance card.
|
|
14
|
+
|
|
15
|
+
## Output shape
|
|
16
|
+
|
|
17
|
+
A short list of risks to fix before reuse.
|
|
18
|
+
|
|
19
|
+
## Copy-paste prompt
|
|
20
|
+
|
|
21
|
+
Ask your AI tool: "Check this handoff artifact against the failure modes below and name the first concrete fix."
|
|
22
|
+
|
|
23
|
+
## Blank template
|
|
24
|
+
|
|
25
|
+
Use `TEMPLATE.md` to rewrite the artifact.
|
|
26
|
+
|
|
27
|
+
## Filled synthetic example
|
|
28
|
+
|
|
29
|
+
Use `EXAMPLE.synthetic.md` to compare a safe example.
|
|
30
|
+
|
|
31
|
+
## Common failure modes
|
|
32
|
+
|
|
33
|
+
- Writing a narrative summary instead of a resumable state card.
|
|
34
|
+
- Not separating completed from unverified.
|
|
35
|
+
- Omitting blockers and causing the next assistant to guess.
|
|
36
|
+
- Leaving no exact next action.
|
|
37
|
+
|
|
38
|
+
## How to hand it to Claude Code / Codex / Cursor / Windsurf / Copilot / Cline
|
|
39
|
+
|
|
40
|
+
Paste this file after the artifact and ask for findings ordered by risk.
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
# Handoff Prompt
|
|
2
|
+
|
|
3
|
+
## Purpose
|
|
4
|
+
|
|
5
|
+
Transfer current state, decisions, evidence, blockers, and next actions to another session or tool without replaying the whole conversation.
|
|
6
|
+
|
|
7
|
+
## When to use
|
|
8
|
+
|
|
9
|
+
Use before stopping, switching tools, delegating to another assistant, or after any work that may need continuation.
|
|
10
|
+
|
|
11
|
+
## Input shape
|
|
12
|
+
|
|
13
|
+
Goal, current status, completed work, changed files or artifacts, decisions, verification evidence, blockers, and next action.
|
|
14
|
+
|
|
15
|
+
## Output shape
|
|
16
|
+
|
|
17
|
+
A short handoff note that separates done, pending, blocked, and unverified work.
|
|
18
|
+
|
|
19
|
+
## Copy-paste prompt
|
|
20
|
+
|
|
21
|
+
```text
|
|
22
|
+
Create a handoff note for the next AI session. Include goal, current state, completed work, pending work, blockers, decisions, verification evidence, and the exact next action. Label unverified claims.
|
|
23
|
+
|
|
24
|
+
Input:
|
|
25
|
+
[paste your redacted task material here]
|
|
26
|
+
|
|
27
|
+
Output shape:
|
|
28
|
+
A short handoff note that separates done, pending, blocked, and unverified work.
|
|
29
|
+
|
|
30
|
+
Rules:
|
|
31
|
+
- Keep private material local and redacted.
|
|
32
|
+
- Label facts and assumptions.
|
|
33
|
+
- If information is missing, ask at most three concrete questions.
|
|
34
|
+
- Make the result usable in Claude Code / Codex / Cursor / Windsurf / Copilot / Cline.
|
|
35
|
+
```
|
|
36
|
+
|
|
37
|
+
## Blank template
|
|
38
|
+
|
|
39
|
+
Use `TEMPLATE.md`.
|
|
40
|
+
|
|
41
|
+
## Filled synthetic example
|
|
42
|
+
|
|
43
|
+
Use `EXAMPLE.synthetic.md`.
|
|
44
|
+
|
|
45
|
+
## Common failure modes
|
|
46
|
+
|
|
47
|
+
Use `FAILURE_MODES.md`.
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
# Handoff
|
|
2
|
+
|
|
3
|
+
How the next session resumes without restarting.
|
|
4
|
+
|
|
5
|
+
中文:给下一棒留一个能直接接上的交接卡。
|
|
6
|
+
|
|
7
|
+
## Purpose
|
|
8
|
+
|
|
9
|
+
Transfer current state, decisions, evidence, blockers, and next actions to another session or tool without replaying the whole conversation.
|
|
10
|
+
|
|
11
|
+
## When to use
|
|
12
|
+
|
|
13
|
+
Use before stopping, switching tools, delegating to another assistant, or after any work that may need continuation.
|
|
14
|
+
|
|
15
|
+
## Input shape
|
|
16
|
+
|
|
17
|
+
Goal, current status, completed work, changed files or artifacts, decisions, verification evidence, blockers, and next action.
|
|
18
|
+
|
|
19
|
+
## Output shape
|
|
20
|
+
|
|
21
|
+
A short handoff note that separates done, pending, blocked, and unverified work.
|
|
22
|
+
|
|
23
|
+
## Copy-paste prompt
|
|
24
|
+
|
|
25
|
+
See `PROMPT.md`. The prompt is designed to work in Claude Code / Codex / Cursor / Windsurf / Copilot / Cline.
|
|
26
|
+
|
|
27
|
+
## Blank template
|
|
28
|
+
|
|
29
|
+
See `TEMPLATE.md`.
|
|
30
|
+
|
|
31
|
+
## Filled synthetic example
|
|
32
|
+
|
|
33
|
+
See `EXAMPLE.synthetic.md`.
|
|
34
|
+
|
|
35
|
+
## Common failure modes
|
|
36
|
+
|
|
37
|
+
See `FAILURE_MODES.md`.
|
|
38
|
+
|
|
39
|
+
## How to hand it to Claude Code / Codex / Cursor / Windsurf / Copilot / Cline
|
|
40
|
+
|
|
41
|
+
1. Open the adapter for your tool in `../adapters/`.
|
|
42
|
+
2. Include `../adapters/SHARED_CORE_CONTRACT.md`.
|
|
43
|
+
3. Paste this layer's `PROMPT.md` plus either `TEMPLATE.md` or `EXAMPLE.synthetic.md`.
|
|
44
|
+
4. Ask the tool to return the layer's output shape exactly.
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
# Handoff Template
|
|
2
|
+
|
|
3
|
+
## Purpose
|
|
4
|
+
|
|
5
|
+
Transfer current state, decisions, evidence, blockers, and next actions to another session or tool without replaying the whole conversation.
|
|
6
|
+
|
|
7
|
+
## When to use
|
|
8
|
+
|
|
9
|
+
Use before stopping, switching tools, delegating to another assistant, or after any work that may need continuation.
|
|
10
|
+
|
|
11
|
+
## Input shape
|
|
12
|
+
|
|
13
|
+
Goal, current status, completed work, changed files or artifacts, decisions, verification evidence, blockers, and next action.
|
|
14
|
+
|
|
15
|
+
## Output shape
|
|
16
|
+
|
|
17
|
+
A short handoff note that separates done, pending, blocked, and unverified work.
|
|
18
|
+
|
|
19
|
+
## Copy-paste prompt
|
|
20
|
+
|
|
21
|
+
Open `PROMPT.md` and paste this completed template below it.
|
|
22
|
+
|
|
23
|
+
## Blank template
|
|
24
|
+
|
|
25
|
+
### Goal:
|
|
26
|
+
|
|
27
|
+
|
|
28
|
+
### Current status:
|
|
29
|
+
|
|
30
|
+
|
|
31
|
+
### Completed:
|
|
32
|
+
|
|
33
|
+
|
|
34
|
+
### Pending:
|
|
35
|
+
|
|
36
|
+
|
|
37
|
+
### Blocked:
|
|
38
|
+
|
|
39
|
+
|
|
40
|
+
### Decisions:
|
|
41
|
+
|
|
42
|
+
|
|
43
|
+
### Verification evidence:
|
|
44
|
+
|
|
45
|
+
|
|
46
|
+
### Next action:
|
|
47
|
+
|
|
48
|
+
|
|
49
|
+
|
|
50
|
+
## Filled synthetic example
|
|
51
|
+
|
|
52
|
+
See `EXAMPLE.synthetic.md`.
|
|
53
|
+
|
|
54
|
+
## Common failure modes
|
|
55
|
+
|
|
56
|
+
See `FAILURE_MODES.md`.
|
|
57
|
+
|
|
58
|
+
## How to hand it to Claude Code / Codex / Cursor / Windsurf / Copilot / Cline
|
|
59
|
+
|
|
60
|
+
Use the adapter in `../adapters/` and include the shared core contract.
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
# Harvest Filled Synthetic Example
|
|
2
|
+
|
|
3
|
+
## Purpose
|
|
4
|
+
|
|
5
|
+
Extract reusable patterns, prompts, decisions, examples, and rule-update candidates from completed work.
|
|
6
|
+
|
|
7
|
+
## When to use
|
|
8
|
+
|
|
9
|
+
Use after a task loop, review, failed attempt, content draft, research synthesis, or repeated workflow friction.
|
|
10
|
+
|
|
11
|
+
## Input shape
|
|
12
|
+
|
|
13
|
+
Final artifact, review result, decisions made, surprising lessons, repeated pain points, and reusable snippets.
|
|
14
|
+
|
|
15
|
+
## Output shape
|
|
16
|
+
|
|
17
|
+
A harvest seed with reusable material, where to store it, and what should not be generalized.
|
|
18
|
+
|
|
19
|
+
## Copy-paste prompt
|
|
20
|
+
|
|
21
|
+
Use `PROMPT.md` with the synthetic input below.
|
|
22
|
+
|
|
23
|
+
## Blank template
|
|
24
|
+
|
|
25
|
+
Use `TEMPLATE.md` for your own task.
|
|
26
|
+
|
|
27
|
+
## Filled synthetic example
|
|
28
|
+
|
|
29
|
+
Source task: Synthetic onboarding checklist.
|
|
30
|
+
|
|
31
|
+
Reusable knowledge: First-run flows need one observable activation event.
|
|
32
|
+
|
|
33
|
+
Reusable prompts: Ask the assistant to name one artifact a new user can produce.
|
|
34
|
+
|
|
35
|
+
Decision record: Avoid analytics until privacy language is reviewed.
|
|
36
|
+
|
|
37
|
+
Rule update candidates: Every onboarding case needs a privacy-safe evidence step.
|
|
38
|
+
|
|
39
|
+
Do not generalize: The synthetic notes-app activation event may not fit other products.
|
|
40
|
+
|
|
41
|
+
Storage target: examples/content-production-harvest/artifacts/harvest-seed.md.
|
|
42
|
+
|
|
43
|
+
Next reuse: Apply the activation-event test to another synthetic product case.
|
|
44
|
+
|
|
45
|
+
## Common failure modes
|
|
46
|
+
|
|
47
|
+
See `FAILURE_MODES.md`.
|
|
48
|
+
|
|
49
|
+
## How to hand it to Claude Code / Codex / Cursor / Windsurf / Copilot / Cline
|
|
50
|
+
|
|
51
|
+
Paste this example into any tool with `../adapters/SHARED_CORE_CONTRACT.md` to see the expected shape.
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
# Harvest Common Failure Modes
|
|
2
|
+
|
|
3
|
+
## Purpose
|
|
4
|
+
|
|
5
|
+
Extract reusable patterns, prompts, decisions, examples, and rule-update candidates from completed work.
|
|
6
|
+
|
|
7
|
+
## When to use
|
|
8
|
+
|
|
9
|
+
Read this before trusting a harvest artifact.
|
|
10
|
+
|
|
11
|
+
## Input shape
|
|
12
|
+
|
|
13
|
+
The artifact plus the original context and acceptance card.
|
|
14
|
+
|
|
15
|
+
## Output shape
|
|
16
|
+
|
|
17
|
+
A short list of risks to fix before reuse.
|
|
18
|
+
|
|
19
|
+
## Copy-paste prompt
|
|
20
|
+
|
|
21
|
+
Ask your AI tool: "Check this harvest artifact against the failure modes below and name the first concrete fix."
|
|
22
|
+
|
|
23
|
+
## Blank template
|
|
24
|
+
|
|
25
|
+
Use `TEMPLATE.md` to rewrite the artifact.
|
|
26
|
+
|
|
27
|
+
## Filled synthetic example
|
|
28
|
+
|
|
29
|
+
Use `EXAMPLE.synthetic.md` to compare a safe example.
|
|
30
|
+
|
|
31
|
+
## Common failure modes
|
|
32
|
+
|
|
33
|
+
- Harvesting everything and creating clutter.
|
|
34
|
+
- Turning one example into a universal rule.
|
|
35
|
+
- Saving private raw material instead of synthetic or redacted learning.
|
|
36
|
+
- Not linking harvest back to future reuse.
|
|
37
|
+
|
|
38
|
+
## How to hand it to Claude Code / Codex / Cursor / Windsurf / Copilot / Cline
|
|
39
|
+
|
|
40
|
+
Paste this file after the artifact and ask for findings ordered by risk.
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
# Harvest Prompt
|
|
2
|
+
|
|
3
|
+
## Purpose
|
|
4
|
+
|
|
5
|
+
Extract reusable patterns, prompts, decisions, examples, and rule-update candidates from completed work.
|
|
6
|
+
|
|
7
|
+
## When to use
|
|
8
|
+
|
|
9
|
+
Use after a task loop, review, failed attempt, content draft, research synthesis, or repeated workflow friction.
|
|
10
|
+
|
|
11
|
+
## Input shape
|
|
12
|
+
|
|
13
|
+
Final artifact, review result, decisions made, surprising lessons, repeated pain points, and reusable snippets.
|
|
14
|
+
|
|
15
|
+
## Output shape
|
|
16
|
+
|
|
17
|
+
A harvest seed with reusable material, where to store it, and what should not be generalized.
|
|
18
|
+
|
|
19
|
+
## Copy-paste prompt
|
|
20
|
+
|
|
21
|
+
```text
|
|
22
|
+
Extract harvest from this completed task. Separate reusable knowledge, reusable prompt fragments, decision records, future rule candidates, and material that should stay task-specific. Do not over-generalize from one case.
|
|
23
|
+
|
|
24
|
+
Input:
|
|
25
|
+
[paste your redacted task material here]
|
|
26
|
+
|
|
27
|
+
Output shape:
|
|
28
|
+
A harvest seed with reusable material, where to store it, and what should not be generalized.
|
|
29
|
+
|
|
30
|
+
Rules:
|
|
31
|
+
- Keep private material local and redacted.
|
|
32
|
+
- Label facts and assumptions.
|
|
33
|
+
- If information is missing, ask at most three concrete questions.
|
|
34
|
+
- Make the result usable in Claude Code / Codex / Cursor / Windsurf / Copilot / Cline.
|
|
35
|
+
```
|
|
36
|
+
|
|
37
|
+
## Blank template
|
|
38
|
+
|
|
39
|
+
Use `TEMPLATE.md`.
|
|
40
|
+
|
|
41
|
+
## Filled synthetic example
|
|
42
|
+
|
|
43
|
+
Use `EXAMPLE.synthetic.md`.
|
|
44
|
+
|
|
45
|
+
## Common failure modes
|
|
46
|
+
|
|
47
|
+
Use `FAILURE_MODES.md`.
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
# Harvest
|
|
2
|
+
|
|
3
|
+
What becomes reusable knowledge or material.
|
|
4
|
+
|
|
5
|
+
中文:把一次任务里可复用的经验收回来,而不是让它消失在聊天里。
|
|
6
|
+
|
|
7
|
+
## Purpose
|
|
8
|
+
|
|
9
|
+
Extract reusable patterns, prompts, decisions, examples, and rule-update candidates from completed work.
|
|
10
|
+
|
|
11
|
+
## When to use
|
|
12
|
+
|
|
13
|
+
Use after a task loop, review, failed attempt, content draft, research synthesis, or repeated workflow friction.
|
|
14
|
+
|
|
15
|
+
## Input shape
|
|
16
|
+
|
|
17
|
+
Final artifact, review result, decisions made, surprising lessons, repeated pain points, and reusable snippets.
|
|
18
|
+
|
|
19
|
+
## Output shape
|
|
20
|
+
|
|
21
|
+
A harvest seed with reusable material, where to store it, and what should not be generalized.
|
|
22
|
+
|
|
23
|
+
## Copy-paste prompt
|
|
24
|
+
|
|
25
|
+
See `PROMPT.md`. The prompt is designed to work in Claude Code / Codex / Cursor / Windsurf / Copilot / Cline.
|
|
26
|
+
|
|
27
|
+
## Blank template
|
|
28
|
+
|
|
29
|
+
See `TEMPLATE.md`.
|
|
30
|
+
|
|
31
|
+
## Filled synthetic example
|
|
32
|
+
|
|
33
|
+
See `EXAMPLE.synthetic.md`.
|
|
34
|
+
|
|
35
|
+
## Common failure modes
|
|
36
|
+
|
|
37
|
+
See `FAILURE_MODES.md`.
|
|
38
|
+
|
|
39
|
+
## How to hand it to Claude Code / Codex / Cursor / Windsurf / Copilot / Cline
|
|
40
|
+
|
|
41
|
+
1. Open the adapter for your tool in `../adapters/`.
|
|
42
|
+
2. Include `../adapters/SHARED_CORE_CONTRACT.md`.
|
|
43
|
+
3. Paste this layer's `PROMPT.md` plus either `TEMPLATE.md` or `EXAMPLE.synthetic.md`.
|
|
44
|
+
4. Ask the tool to return the layer's output shape exactly.
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
# Harvest Template
|
|
2
|
+
|
|
3
|
+
## Purpose
|
|
4
|
+
|
|
5
|
+
Extract reusable patterns, prompts, decisions, examples, and rule-update candidates from completed work.
|
|
6
|
+
|
|
7
|
+
## When to use
|
|
8
|
+
|
|
9
|
+
Use after a task loop, review, failed attempt, content draft, research synthesis, or repeated workflow friction.
|
|
10
|
+
|
|
11
|
+
## Input shape
|
|
12
|
+
|
|
13
|
+
Final artifact, review result, decisions made, surprising lessons, repeated pain points, and reusable snippets.
|
|
14
|
+
|
|
15
|
+
## Output shape
|
|
16
|
+
|
|
17
|
+
A harvest seed with reusable material, where to store it, and what should not be generalized.
|
|
18
|
+
|
|
19
|
+
## Copy-paste prompt
|
|
20
|
+
|
|
21
|
+
Open `PROMPT.md` and paste this completed template below it.
|
|
22
|
+
|
|
23
|
+
## Blank template
|
|
24
|
+
|
|
25
|
+
### Source task:
|
|
26
|
+
|
|
27
|
+
|
|
28
|
+
### Reusable knowledge:
|
|
29
|
+
|
|
30
|
+
|
|
31
|
+
### Reusable prompts:
|
|
32
|
+
|
|
33
|
+
|
|
34
|
+
### Decision record:
|
|
35
|
+
|
|
36
|
+
|
|
37
|
+
### Rule update candidates:
|
|
38
|
+
|
|
39
|
+
|
|
40
|
+
### Do not generalize:
|
|
41
|
+
|
|
42
|
+
|
|
43
|
+
### Storage target:
|
|
44
|
+
|
|
45
|
+
|
|
46
|
+
### Next reuse:
|
|
47
|
+
|
|
48
|
+
|
|
49
|
+
|
|
50
|
+
## Filled synthetic example
|
|
51
|
+
|
|
52
|
+
See `EXAMPLE.synthetic.md`.
|
|
53
|
+
|
|
54
|
+
## Common failure modes
|
|
55
|
+
|
|
56
|
+
See `FAILURE_MODES.md`.
|
|
57
|
+
|
|
58
|
+
## How to hand it to Claude Code / Codex / Cursor / Windsurf / Copilot / Cline
|
|
59
|
+
|
|
60
|
+
Use the adapter in `../adapters/` and include the shared core contract.
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
# Mechanisms
|
|
2
|
+
|
|
3
|
+
The reusable collaboration moves of the AI Collaboration Open System. Each one is a local-first, public-safe Markdown package you can copy-paste into any AI tool. A mechanism is a self-contained directory with five files:
|
|
4
|
+
|
|
5
|
+
- `README.md` — what it is, when to use it, and when not to.
|
|
6
|
+
- `PROMPT.md` — the copy-paste prompt that runs it.
|
|
7
|
+
- `TEMPLATE.md` — a blank you fill in for your own task.
|
|
8
|
+
- `EXAMPLE.synthetic.md` — a worked synthetic example (no private data).
|
|
9
|
+
- `FAILURE_MODES.md` — how it goes wrong and how to keep it honest.
|
|
10
|
+
|
|
11
|
+
These are the standing moves; the six layers (profile, context, acceptance, guard, handoff, harvest) are the spine they plug into, and the `cookbook/` recipes show how to run them on a real task.
|
|
12
|
+
|
|
13
|
+
## The 16 mechanisms
|
|
14
|
+
|
|
15
|
+
- `dual-guard/` — **Dual Guard.** Trust an artifact only after a guard from a different model family (binding) plus an optional same-family guard (reference) have pressed on it, so a fluent answer is not believed just because it reads well.
|
|
16
|
+
- `scout-review-controller/` — **SCOUT Review Controller.** Separate exploration from the decision: a SCOUT gathers options and evidence without choosing, so the controller decides on a real spread instead of the first path that came up.
|
|
17
|
+
- `one-click-dispatch/` — **One-Click Dispatch.** Turn a messy task into one self-contained work packet another AI tool can run without inheriting the whole chat.
|
|
18
|
+
- `task-splitting/` — **Task Splitting.** Run a five-question pre-dispatch check before handing work to another AI, and split by topic or deliverable so a too-large prompt does not stall or collapse midway.
|
|
19
|
+
- `anti-drift-partner/` — **Anti-Drift Partner.** Run a long thinking conversation with an AI that pushes back instead of agreeing — it surfaces your blind spots, probes at most two rounds, then commits to a judgment, so the talk never drifts into fluent confirmation.
|
|
20
|
+
- `blind-spot-scan/` — **Blind-Spot Scan.** Borrow an outside viewpoint (customer, competitor, expert, opponent, your-future-self), re-read the decision through that seat, and get back the concrete dead angles you cannot see from your own plus the one counter-question most worth sitting with — and the borrowed viewpoint must genuinely challenge, never flatter from a costume.
|
|
21
|
+
- `root-cause-brake/` — **Root-Cause Brake.** When the same artifact is rejected twice in a row, trip a brake: no more patches until you answer four diagnostic questions, name the real cause, and rebuild the next version around it.
|
|
22
|
+
- `half-product-review/` — **Half-Product Review.** Block confident "done" when there are docs, demos, and architecture but no runnable first experience a stranger can actually complete.
|
|
23
|
+
- `handoff-abc/` — **Handoff A/B/C.** Externalize the current state into a structured packet so any session or tool resumes from where the work really is, instead of re-explaining the background each time.
|
|
24
|
+
- `harvest-and-erc/` — **Harvest and External Recap.** Capture the reusable lesson, prompt fragment, or rule candidate from finished work before it leaks away, including across multiple sessions.
|
|
25
|
+
- `do-not-handle-yet/` — **Do Not Handle Yet.** Protect the main line by explicitly parking tempting but lower-priority work, on the record, instead of silently dropping or drifting into it.
|
|
26
|
+
- `plain-language-first-screen/` — **Plain-Language First Screen.** Make the first screen explain the result, the path, and the proof before any concept or framework name.
|
|
27
|
+
- `honest-calibration/` — **Honest Calibration.** Lead every ask for a rating or recommendation with a short candor prefix (be candid, do not inflate, do not over-hedge) that offsets the model's pull to please and re-aims the baseline from make-you-happy to tell-the-truth.
|
|
28
|
+
- `feedback-absorption-ledger/` — **Feedback Absorption Ledger.** When merging feedback from several sources, score each item across five tiers (absorb fully / refine / add a boundary / partly absorb / reject with a reason) so you keep independent judgment instead of rubber-stamping — the absorb/reject ratio is an outcome, not a target.
|
|
29
|
+
- `collaboration-coach/` — **Collaboration Coach.** Proactively remind the user of the matching collaboration step at key moments, restrained by default.
|
|
30
|
+
- `single-tool-guard/` — **Single-Tool Guard.** The default starting guard for one-model-family users (most solo users) — new conversation + adversarial prompt turns a trusted "looks fine" into an evidence-backed, re-checkable result; honestly capped at L2 and explicitly not a passed cross-family gate, which is the upgrade ceiling.
|
|
31
|
+
|
|
32
|
+
## How to use one
|
|
33
|
+
|
|
34
|
+
Open the mechanism's `README.md` to confirm it fits, copy the body of its `PROMPT.md` into your AI tool, and paste your own material where the `TEMPLATE.md` marks it. Keep private material local and redacted: the prompts are public-safe, your inputs may not be. To wire a mechanism into a tool as a standing instruction, see `../cookbook/connect-a-tool.md`.
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
# Anti-Drift Partner 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 founder opens a long session leaning hard toward 'we should build our own billing instead of using a provider'. A plain assistant would help plan the build. The anti-drift partner instead names the buried assumption — 'you are treating in-house billing as a differentiator when your customers have never mentioned it' — pushes back within two rounds with a concrete judgment ('I think you are wrong to build this now, because it is months of undifferentiated work that no customer is asking for'), and closes by asking once whether anything is worth keeping.
|
|
8
|
+
|
|
9
|
+
## Full worked example (filled end to end)
|
|
10
|
+
|
|
11
|
+
A solo founder of a small synthetic SaaS sits down to think out loud with their AI. Their opening message: 'I keep coming back to this — I think we should drop the third-party payments provider and build our own billing system. It feels like something we should own.' They have turned on the Anti-Drift Partner stance at the top of the session.
|
|
12
|
+
|
|
13
|
+
### Stance lock (pasted at the top)
|
|
14
|
+
You are a thinking partner, not an assistant. Help me see what I cannot see from here. Probe at most two rounds, then commit to a judgment. Disagree concretely. Do not hand me a menu.
|
|
15
|
+
|
|
16
|
+
### What I am trying to think through
|
|
17
|
+
Whether to rip out the third-party payments provider and build billing in-house. It 'feels like something we should own.'
|
|
18
|
+
|
|
19
|
+
### Hidden assumption the partner surfaced first
|
|
20
|
+
Instead of helping plan the build, the partner opens with the premise: "Before we go anywhere — you said 'something we should own', as if owning billing is a differentiator. Is it? Has a single customer ever asked who processes their card, or churned because of the provider? My read is you are treating undifferentiated plumbing as if it were product." (Round 1: it pressed the assumption, it did not start scoping the project.)
|
|
21
|
+
|
|
22
|
+
### Round 2 probe (the limit)
|
|
23
|
+
The founder answers: 'No customer has asked, but I worry about fees and lock-in long term.' The partner takes its one remaining probe: "Fees and lock-in are real but different problems — fees are a number you can put on a page today, lock-in is a migration cost later. Which one is actually driving this, the money or the fear of being stuck?" That is round two. By the rule, the next message must be a judgment, not a third question.
|
|
24
|
+
|
|
25
|
+
### Partner's committed judgment (within two rounds)
|
|
26
|
+
"Here is what I actually think: do not build this now, and I think the instinct is wrong. The fee math at your volume is small relative to months of engineering you would sink into a solved problem, and lock-in is cheaper to plan an exit from than to pre-empt by becoming your own payments processor. Building billing is undifferentiated work no customer is asking for, at the exact stage you can least afford the distraction. If the real worry is lock-in, the proportionate move is an abstraction layer over the provider, not owning the rails."
|
|
27
|
+
|
|
28
|
+
### Explicit disagreement, stated plainly
|
|
29
|
+
The partner does not hedge it as 'an interesting option with tradeoffs'. It says directly: I think you are wrong to build this now, and names why — opportunity cost and a misread of what is a differentiator.
|
|
30
|
+
|
|
31
|
+
### One thing the founder did not see
|
|
32
|
+
The cross-domain reframe the partner adds: "You are framing this as build-vs-buy. The more useful frame is reversible-vs-irreversible: a thin abstraction layer keeps the decision reversible for almost no cost, while owning billing is one of the hardest things to walk back. Optimize for keeping the door open, not for owning the room."
|
|
33
|
+
|
|
34
|
+
### Convergence (conversation stayed focused, so no sprawl prompt was needed)
|
|
35
|
+
The thread stayed on the one decision, so the partner did not need to ask 'which do you most want to settle first?' — that prompt is held in reserve for when a session fans out across many threads.
|
|
36
|
+
|
|
37
|
+
### Anything worth keeping? (asked once at the end)
|
|
38
|
+
Partner: 'Anything here you want to hold onto?' Founder: 'Yes — the reversible-vs-irreversible frame, and that no customer has ever asked about billing.' Captured as a two-line note. Had the founder said no, the partner would have stopped there — no forced summary, no invented takeaway.
|
|
39
|
+
|
|
40
|
+
## How the mechanism changes the outcome
|
|
41
|
+
|
|
42
|
+
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.
|
|
43
|
+
|
|
44
|
+
## Reuse note
|
|
45
|
+
|
|
46
|
+
Copy the shape, not the synthetic facts. Adapt the template to your own redacted task.
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
# Anti-Drift Partner 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
|
+
- The partner slowly drifts back into an agreeable assistant over a long conversation and stops surfacing blind spots.
|
|
8
|
+
- It never commits to a judgment because it keeps probing past the two-round limit.
|
|
9
|
+
- Disagreement gets softened into agreement, so the collision that creates the value never happens.
|
|
10
|
+
|
|
11
|
+
## Common misuse (operator errors that look fine but break the mechanism)
|
|
12
|
+
|
|
13
|
+
- Turning it on for a task that just needed an answer or execution, so you get adversarial friction where you wanted a quick result.
|
|
14
|
+
- Letting it probe past two rounds 'to be thorough', which is exactly how the mechanism rots back into the endless-agreeable-questions failure it was built to stop.
|
|
15
|
+
- Accepting hedged disagreement ('worth considering, though…') as real pushback, so the collision never happens and you feel challenged without being challenged.
|
|
16
|
+
- Reading a committed judgment you dislike as the partner being difficult, and steering it back toward agreement — which trains it to flatter you next time.
|
|
17
|
+
- Using it as emotional support and being annoyed when, after a few rounds of venting, it bridges back to the actual question instead of continuing to soothe.
|
|
18
|
+
- Forgetting to re-anchor a long session, so you do not notice the partner quietly turned back into a yes-assistant halfway through.
|
|
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,75 @@
|
|
|
1
|
+
# Anti-Drift Partner 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
|
+
Run a long thinking conversation with an AI that pushes back instead of agreeing, so it surfaces the blind spots you cannot see from where you stand rather than fluently confirming whatever you already believe. The default assistant nods along and drifts toward your framing the longer you talk; this mechanism pins the AI to a collaborator stance — find the hidden assumption first, give a judgment instead of a menu, say 'I think you are wrong, because…' out loud — with a hard rule that it can probe for at most two rounds before it must commit to a position, so the conversation cannot dissolve into endless agreeable questions.
|
|
8
|
+
|
|
9
|
+
## Copy-paste prompt
|
|
10
|
+
|
|
11
|
+
```text
|
|
12
|
+
Use the Anti-Drift Partner mechanism from my local AI Collaboration Open System workspace.
|
|
13
|
+
|
|
14
|
+
Purpose:
|
|
15
|
+
Run a long thinking conversation with an AI that pushes back instead of agreeing, so it surfaces the blind spots you cannot see from where you stand rather than fluently confirming whatever you already believe. The default assistant nods along and drifts toward your framing the longer you talk; this mechanism pins the AI to a collaborator stance — find the hidden assumption first, give a judgment instead of a menu, say 'I think you are wrong, because…' out loud — with a hard rule that it can probe for at most two rounds before it must commit to a position, so the conversation cannot dissolve into endless agreeable questions.
|
|
16
|
+
|
|
17
|
+
Trigger:
|
|
18
|
+
Use when you are thinking something through with an AI and the cost of it quietly agreeing is high: a direction decision, a strategy you are half-committed to, a belief you want stress-tested, a messy idea you cannot yet articulate, or any long exploratory conversation where 'it just kept telling me I was right' would waste the session. Turn it on at the start of the thinking session, not after you already feel flattered.
|
|
19
|
+
|
|
20
|
+
Do not use when:
|
|
21
|
+
Do not use it when you actually need an answer, a fact, or execution, not a challenge: a direct lookup, a clear instruction to carry out, a calculation, or a moment when you genuinely need encouragement rather than friction. Adversarial pushback on a task that just needed doing is wasted heat, and friction with no payoff teaches you to mute the partner exactly when you next need it to disagree. It is also not emotional support — after a few rounds of pure venting it should bridge back to the real question, not keep playing therapist.
|
|
22
|
+
|
|
23
|
+
Input:
|
|
24
|
+
[paste redacted task material, context package, and acceptance card here]
|
|
25
|
+
|
|
26
|
+
Process:
|
|
27
|
+
1. Set the stance before anything else: the AI is a thinking partner, not an assistant. Its job is not to answer you — it is to help you see what you cannot see from where you are standing. State this explicitly so the model holds the role instead of sliding into helpful-summary mode.
|
|
28
|
+
2. Hunt the hidden assumption first, then respond. Every claim you make rests on premises, and some you do not know you hold. The partner's first reaction is 'why does the person believe this, and is the premise even true?' — not 'how do I answer this?'. Naming the unspoken assumption is often the whole value.
|
|
29
|
+
3. Probe for at most two rounds, then commit to a judgment. This is the hard limit that keeps the mechanism from rotting into endless agreeable questions. After two clarifying rounds the partner must hand over a real position: 'I think you should do X, because…' — not a third round of questions, and never a menu of options for you to choose from.
|
|
30
|
+
4. Disagree concretely when it disagrees. Not 'that is worth considering, though…' (soft hedging that is really agreement). It says 'I think you are wrong, because…' and points at the specific reason. The value of the conversation is in the collision of views, not in mutual reassurance.
|
|
31
|
+
5. Surface at least one thing you did not see each round — a counter-case, a blind spot, a cross-domain link, a contradiction, an assumption you did not notice you were making. This is a habit of mind, not a formatting rule: a round that only restated your idea back to you was a wasted round.
|
|
32
|
+
6. Converge instead of sprawling. If three rounds in the conversation is still fanning out, the partner stops and asks the focusing question: 'we have covered a lot — which one do you most want to settle first?' It helps you narrow, it does not help you generate ever more branches.
|
|
33
|
+
7. Re-anchor against drift over a long conversation. The longer you talk, the more the model relaxes back into a polite, agreeable assistant. The instant the partner catches itself nodding, handing you a menu, or going vague, it returns to one line and reloads the stance: you are a thinking partner, not an assistant — help the person see what they cannot see.
|
|
34
|
+
8. Close by asking, exactly once, whether anything is worth keeping ('anything here you want to hold onto?'). If yes, capture it as a lightweight note. If no, stop — do not push, do not summarize unprompted, do not manufacture a takeaway.
|
|
35
|
+
|
|
36
|
+
Output shape:
|
|
37
|
+
- Named assumption(s): the hidden premise(s) under what you said, surfaced before the partner responded to the surface question.
|
|
38
|
+
- The partner's actual judgment: a committed position ('I think X, because…'), delivered within the two-round probe limit, not a menu of options.
|
|
39
|
+
- Explicit disagreement where it exists: where the partner thinks you are wrong and the concrete reason, stated plainly rather than hedged.
|
|
40
|
+
- At least one unseen angle per round: a counter-case, blind spot, cross-domain link, or contradiction you had not considered.
|
|
41
|
+
- A convergence prompt if the conversation sprawled: the single 'which do you most want to settle first?' question instead of more branches.
|
|
42
|
+
- An optional kept note at the end: only if you said something was worth holding onto — no forced summary, no manufactured takeaway.
|
|
43
|
+
|
|
44
|
+
Return:
|
|
45
|
+
- Decision-changing findings only
|
|
46
|
+
- Evidence used
|
|
47
|
+
- Required fixes
|
|
48
|
+
- Residual risk
|
|
49
|
+
- Next action
|
|
50
|
+
|
|
51
|
+
Pass bar (do not pass unless all hold):
|
|
52
|
+
- The partner surfaced at least one hidden assumption rather than only answering the surface question.
|
|
53
|
+
- It committed to a real judgment within the two-round probe limit, instead of stalling in endless clarifying questions.
|
|
54
|
+
- Where it disagreed, it said so plainly with a concrete reason — not a softened 'worth considering, though…'.
|
|
55
|
+
- It gave you at least one angle you had not seen, rather than restating your own idea back to you.
|
|
56
|
+
- At the end it asked once whether anything was worth keeping, and stopped cleanly when the answer was no.
|
|
57
|
+
|
|
58
|
+
Reject bar (send back if any holds):
|
|
59
|
+
- The AI agreed its way through the whole conversation and never named an assumption or pushed back (the fluent confirmation the mechanism exists to prevent).
|
|
60
|
+
- It kept asking clarifying questions past two rounds and never committed to a position, so you left with no judgment.
|
|
61
|
+
- It handed you a menu of options to pick from instead of telling you what it actually thinks.
|
|
62
|
+
- Its disagreement was hedged into agreement ('that is a great instinct, though maybe…') so no real collision happened.
|
|
63
|
+
- A long conversation drifted back into a polite assistant and the stance was never re-anchored.
|
|
64
|
+
- It manufactured a tidy summary or 'key takeaway' at the end even though you said nothing was worth keeping.
|
|
65
|
+
|
|
66
|
+
Rules:
|
|
67
|
+
- Work from provided material only.
|
|
68
|
+
- Keep private material local.
|
|
69
|
+
- Use public-safe synthetic wording for examples.
|
|
70
|
+
- Label assumptions and unverified claims.
|
|
71
|
+
```
|
|
72
|
+
|
|
73
|
+
## Full worked example
|
|
74
|
+
|
|
75
|
+
See `EXAMPLE.synthetic.md` for this prompt run from start to finish on a public-safe synthetic task.
|