Three polish items from post-audit parallel agent.
1. Dynamic schema whitelist (drops hardcoded const drift)
_assembler/src/schemas_export.rs (NEW, 136 LOC) — loader cube,
priority path $AGENT_ROOT/artifacts/schemas.json →
~/.claude/agents/artifacts/schemas.json → BUILTIN fallback.
Hand-rolled JSON parser (no serde_json dep).
_assembler/src/validator.rs delegates to schemas_export::load,
keeps KNOWN_ARTIFACT_SCHEMAS alias for back-compat.
_primitives/_rust/kei-artifact/src/export.rs (NEW, 82 LOC) —
write() + render() + default_path().
_primitives/_rust/kei-artifact/src/cli_cmds.rs (NEW, 126 LOC) —
extracted cmd_emit/get/list/chain so main stays <200 LOC.
ExportSchemas + ListSchemas subcommands; cmd_register
auto-refreshes export file (best-effort).
2. KNOWN_SCHEMAS SSoT — documented-dual-const + drift-test
(Option "simpler than new crate"). SSoT in kei-artifact's
BUILTIN; schemas_export::BUILTIN is a documented mirror;
builtin_schemas_do_not_drift_from_kei_artifact test in
validator.rs parses the primitive's source at test time and
diffs. <30 LOC change. No workspace structural change —
assembler stays decoupled from runtime primitive.
3. Agent-to-mode matrix + wizard Phase 3.6
_blocks/mode-matrix.md (NEW, 24 LOC) — 11-row table mapping
agent role × recommended mode blocks.
skills/new-agent/SKILL.md — new Phase 3.6 (between name-confirm
3.5 and manifest-write 4). AskUserQuestion with 5
cognitive-mode options (skeptic/devils-advocate/minimalist/
maximalist/first-principles, multiSelect). Appends picked
labels to manifest's blocks array. Defaults to NONE.
_blocks/README.md adds one-line reference to the matrix.
_assembler/tests/mode_blocks.rs (NEW, 78 LOC) — 3 integration
tests lock the wiring.
README.md — all accumulated count + pre-built-binaries + plugin
section edits from the v0.16 cycle consolidated here (will be
replaced by markers in v0.17 counts-autogen refactor).
Tests: assembler 24 → 33 (+9), kei-artifact 24 → 31 (+7), total
48 → 64. cargo check --workspace clean.
Constructor Pattern: largest new file validator.rs 180 LOC.
Pre-existing flagged for separate refactor: kei-artifact
validate.rs 268 LOC (not touched by this polish).
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
1.8 KiB
1.8 KiB
MODE — Agent × Cognitive-Mode Matrix
Composable cognitive-mode blocks live in _blocks/mode-*.md. Any agent manifest can append them to its blocks = [...] list to stack the behavioural skew; modes compose (e.g. mode-skeptic + mode-minimalist = adversarial pruner).
This table is the suggested starting set per agent role. It is a guide, not a rule — pick what fits the agent's actual job.
| Agent role | Recommended modes | Reason |
|---|---|---|
| critic | skeptic · devils-advocate |
Doubt-first review; name the strongest objection before agreeing |
| validator | skeptic |
Every claim needs an E1/E2 grade — no plausibility shortcuts |
| security-auditor | devils-advocate · skeptic |
Steel-man the attacker; threat-model the worst case |
| researcher | skeptic |
Cross-check every source; honest gaps over confident guesses |
| ml-researcher | skeptic · first-principles |
Paradigm-native measurement + invariant-derived priors |
| architect | first-principles · minimalist |
Derive from constraints, prefer subtraction over addition |
| code-implementer | minimalist |
Surgical edits; remove before adding |
| refactor specialist | minimalist |
Delete dead code; prove every kept line |
| ml-implementer | minimalist · first-principles |
Math-First — count params before code, derive over tune |
| brainstorm / concept-explorer | maximalist |
Return 10× version + minimum bounds; user invokes exploration |
| physics-deriver | first-principles |
Cite the invariant; no arguments from "best practice" |
Intentionally unbiased roles (pick 0 modes by default):
infra-implementer,modal-runner,fal-ai-runner,cost-guardian, mostkei-<project>-specialistagents.
Modes are not free — each one lands verbatim in the prompt and consumes context. Stack only what you need.