{ "schema": "fable.research_map.receipt.v1", "createdAt": "2026-07-02T00:00:00.000Z", "taskLabel": "external-pattern-research-map", "task": "Map ECC, scankii, Miessler/Fable prompts, Test-don't-verify, and factory-memory correction into Fable engineering constraints", "constraints": [ "external repositories and links are advisory until locally verified", "do not vendor, copy, or execute external repositories from this research map", "rewrite useful patterns locally behind receipts and tests", "deploy is out of scope for this mapping", "guarded 8099/deploy via git-proxy is the only canonical deploy route", "8098/deploy-webhook remains legacy/internal/stale for fable-agent trust", "live receipt > committed receipt > memory summary" ], "mappings": [ { "name": "ECC", "source": "https://github.com/affaan-m/ECC", "localEvidence": "src/fable5/external-project-review.ts#createSkillsRepoReviewReceipt", "patterns": ["agent harness optimization", "skills and memory organization", "research-first development posture"], "adaptation": "learn-only; rewrite any useful harness ideas locally with Fable receipts as authority", "blocked": ["vendoring", "external execution", "treating optimization claims as local proof"] }, { "name": "scankii", "source": "https://github.com/ashp15205/scankii", "localEvidence": "src/fable5/external-project-review.ts#createSkillsRepoReviewReceipt", "patterns": ["AI-workflow SAST scanner ideas", "prompt-injection detection", "malicious tool payload review"], "adaptation": "advisory rules only; rewrite useful checks locally with repro receipts/tests", "blocked": ["vendoring", "unsandboxed scanner execution", "security claims without local reproduction"] }, { "name": "Miessler PAI and Fable prompt posture", "source": "https://danielmiessler.com/", "localEvidence": ["src/upgrades/pai-adapter.ts", "src/upgrades/fable5-prompt-engine.ts"], "patterns": ["TELOS mapping", "harness-not-model compounding", "citation-aware prompt posture", "separate verifier instead of self-verification"], "adaptation": "keep prompts as bounded operating guidance; receipts and verification remain authority", "blocked": ["prompt-only deploy authority", "uncited factual claims from search", "self-verification as proof"] }, { "name": "Test-don't-verify", "source": "TEMP/research/test-dont-verify/index.txt", "localEvidence": "TEMP/research/test-dont-verify/index.txt", "patterns": ["testing complements formal verification", "autoformalization expands the trusted computing base", "random testing/falsification finds counterexamples", "verification-guided development compares verified reference and production implementation"], "adaptation": "pair proofs/specs with falsification, differential tests, and production-runtime measurements", "blocked": ["claiming proof assistants replace tests", "trusting autoformalized specs without review", "performance claims without runtime evidence"] }, { "name": "factory-memory correction", "source": "conversation memory summary quarantine", "localEvidence": "src/fable5/stale-memory-quarantine.ts#createFactoryMemoryQuarantineReceipt", "patterns": ["quarantine stale memory", "canonical trust path is receipt-backed", "8098 deploy memory is dangerous stale state"], "adaptation": "prefer live/committed receipts over memory; require explicit approval and fresh gate receipts before any deploy", "blocked": ["8098/deploy-webhook as trusted deploy path", "memory-only deploy authority", "autonomous deploy without fresh gate receipt"] } ], "skipped": [ "external repo vendoring", "external repo execution", "deploy changes", "dashboard changes", "new generator or CLI", "new tests without code parity need" ], "decision": "ready", "reasons": [], "deployAttempted": false }