The Augmentation Layer
The runtime that enforces substrate-bundle integrity automatically — describe the workflow's shape in one sentence and the canonical primitive bundle is applied.
The problem it solves
The substrate criterion (proven empirically via the 5-phase ladder) says certain primitives must travel together to preserve calibration, auditability, and adaptability. Calling primitives one-at-a-time risks degrading the bundle — skipping a required primitive for cost reasons, or forgetting to extract sources before scoring source credibility.
The augmentation layer enforces this contract at runtime. Required primitives are CONTRACTS, not suggestions. Optional primitives are caller opt-in. The augmentation report makes the bundle visible to downstream consumers so they know what to surface.
The 4-layer architecture
Layer 1 — Universal Augment Endpoint (POST /api/v1/augment)
Drops into any HTTP-capable platform. Foundation for all others.
Layer 2 — Workflow-Shape Recipe Library (7 canonical shapes + bundles)
summarization / enrichment / monitoring / decision / generation /
routing / evaluation + generic fallback.
Layer 3 — Judgment Co-Pilot (Claude Code template + Anthropic Skill)
Reads workflow.json, identifies augmentation points, rewrites with
augmentation injected. Distributed via existing Skills + Claude
Code template infrastructure.
Layer 4 — Per-Platform Native Blocks
Importable templates (n8n / Zapier / Agent Designer / Lindy) that
wrap Layer 1 in platform-native auth + UX.The 7 canonical workflow shapes
Each shape encodes a substrate-criterion contract — required primitives cannot be skipped regardless of cost optimization.
| Shape | When | Required primitives | Cost |
|---|---|---|---|
summarization | Text → text summary | extract_claims, extract_sources, score_probability_language | 11 credits |
enrichment | Record → record + context | extract_claims, score_source_credibility_nato | 6 credits |
monitoring | Current+prior → alert | compute_analytic_delta, extract_information_gaps, check_regression_robust | 14 credits |
decision | Question + options → recommendation | compose_decision_frame, generate_alternatives, extract_information_gaps, gate_with_confidence | 18 credits |
generation | LLM-generated content | extract_claims, score_probability_language, extract_assumptions | 13 credits |
routing | Classification | compose_decision_frame, generate_alternatives, gate_with_confidence | 13 credits |
evaluation | Predictions vs outcomes | score_brier, check_regression_robust, compute_beta_binomial_ci | 3 credits |
generic | Fallback when no shape clearly fits | extract_claims, extract_sources, extract_alternatives, extract_information_gaps, score_probability_language | 22 credits |
Minimal example
curl -X POST https://api.leadershipunderuncertainty.org/api/v1/augment \
-H "Authorization: Bearer nb_..." \
-H "Content-Type: application/json" \
-d '{
"value": "Reuters reports Tencent reduced its OpenAI API spend by 60%...",
"intent": "Summarize the press item for the executive team morning brief.",
"workflowShape": "summarization",
"options": { "confidenceGate": 0.6, "attestation": "hash" }
}'
# Returns:
# {
# "value": "<original input, unchanged>",
# "augmented": {
# "claims": [{"text": "Tencent reduced its OpenAI API spend...", "confidence": 0.7}],
# "sources": [{"identifier": "reuters_tencent_openai", "type": "news_article"}],
# "probabilityLanguage": {"score": 70, "issues": []}
# },
# "report": {
# "workflowShape": "summarization",
# "primitivesExecuted": [...],
# "substrateCoverage": {"populated": ["Claim","Source","UncertaintyEstimate"], "score": 3},
# "totalCreditCost": 11,
# "confidence": {"mean": 0.7, "lowConfidenceFields": []},
# "downstreamGuidance": "...",
# "issues": []
# },
# "attestation": {"mode": "hash", "hash": "8b9c5c7a..."}
# }Substrate criterion enforcement
If report.issues is non-empty, the substrate criterion is broken — typically because a required primitive failed. Surface the issue to the consumer before treating the augmented output as authoritative.
The augmentation report's substrateCoverage.score (0-9) tells you which of the 9 substrate primitives the run populated. A score of 3-4 is typical for narrow shapes (summarization, enrichment), 6-9 for broad shapes (decision, generic).
Distribution surfaces
- REST —
POST /api/v1/augment(this page). - MCP —
luu_augmenttool (Claude Desktop, Cursor, ChatGPT, custom MCP clients). - SDK —
Augmentclass in the TypeScript SDK atpackages/sdk(in-repo; not yet published to npm) withsummarize(),enrich(),decide()wrappers. - Skills —
packages/luu-skills/skills/judgment-augment/SKILL.mdfor Claude Code / Claude.ai / Claude Desktop / Cursor / ChatGPT (when MCP-enabled). - n8n — importable workflow at
packages/n8n-templates/judgment-augment/. - Zapier — recipe at
packages/zapier-templates/judgment-augment/. - Google Agent Designer — flow template at
docs/distribution/flow-templates/judgment-augment.json. - Lindy — install guide at
docs/distribution/install-judgment-augment-lindy.md. - Claude Code template — Judgment Co-pilot at
packages/claude-code-templates/judgment-copilot/reads any workflow.json and rewrites it with augmentation injected.