Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
54 commits
Select commit Hold shift + click to select a range
7e6f081
feat(external-model-routing): Phase 1 — shared core + mapping engine
dean0x Jul 24, 2026
fd913a9
feat(external-model-routing): Phase 2 — proxy CLI command + ensure-pr…
dean0x Jul 24, 2026
f47500c
feat(external-model-routing): Phase 3 — agents TUI + CLI command
dean0x Jul 24, 2026
acbc910
feat(external-model-routing): Phase 4 — init + uninstall wiring + docs
dean0x Jul 24, 2026
4959dbc
refactor(external-model-routing): remove slop from proxy + agents TUI
dean0x Jul 24, 2026
4b55d54
fix(external-model-routing): correct init reapply ordering + TUI stdi…
dean0x Jul 24, 2026
92df2b8
docs(agents): fix --set/--reset syntax, TUI keybindings, dormant mode…
dean0x Jul 24, 2026
46ec551
fix(proxy): correct disable settings-pass short-circuit; export apply…
dean0x Jul 24, 2026
e5a8bd9
fix(ensure-proxy): guard log-size wc fallback with file-existence check
dean0x Jul 24, 2026
bfae41b
docs(agent-design): fix --set/--reset syntax in Management block
dean0x Jul 24, 2026
9d65184
docs(knowledge): add external-model-routing feature knowledge base
dean0x Jul 24, 2026
812b2a3
docs(knowledge): update installer-shadowing feature knowledge base
dean0x Jul 24, 2026
7fdfd40
docs: correct proxy hook/env attribution, KB spawn-wait bound, and ~/…
dean0x Jul 24, 2026
5755d56
fix(fs-atomic): preserve target file mode across atomic rewrite
dean0x Jul 24, 2026
4993c15
fix(agent-frontmatter): surgical effort-line removal — no global coll…
dean0x Jul 24, 2026
aee1fe5
test(proxy-state): add direct tests for readProxyState, writeProxySta…
dean0x Jul 24, 2026
d696e11
fix(agents-view): CPLX-5/6, TS-3, TEST-8, TEST-1 — reduce duplication…
dean0x Jul 24, 2026
2a5dd3a
fix(proxy): harden enable path — dedup preflight deps, guard writes, …
dean0x Jul 24, 2026
f7ae015
fix(hooks): ensure-proxy perf, diagnostics, curl guard, log constants…
dean0x Jul 24, 2026
f8ae6b8
test(shell-hooks): replace hard-coded ephemeral ports with dynamicall…
dean0x Jul 24, 2026
c46179c
fix(agent-models): shared dormancy predicate, parallel I/O, decouple …
dean0x Jul 24, 2026
bdb8d33
fix(proxy): remembered-port, exit codes, status extraction, named con…
dean0x Jul 24, 2026
45829c5
fix(proxy): health-identity helper, PID-hint verification, doctor SIG…
dean0x Jul 24, 2026
58697d0
fix(proxy): scope ANTHROPIC_BASE_URL strip to devflow-managed ports (…
dean0x Jul 24, 2026
55ffe95
fix(init,uninstall): reapply guard + init-ordering and uninstall prox…
dean0x Jul 24, 2026
13fc57a
refactor(resolve): simplification pass
dean0x Jul 24, 2026
b1a49a8
docs(knowledge): update external-model-routing feature knowledge base
dean0x Jul 24, 2026
e6c4f05
docs(knowledge): update installer-shadowing feature knowledge base
dean0x Jul 24, 2026
a1550d8
fix(hooks): make curl-absence simulation platform-robust; drain stdin…
dean0x Jul 24, 2026
125dfea
fix(hooks): write proxy.pid from ensure-proxy spawn path; cover spawn…
dean0x Jul 25, 2026
ce9702d
fix(proxy): run doctor post-spawn — cold enable was unsatisfiable
dean0x Jul 25, 2026
0ccda7b
docs: sync proxy preflight and proxy.pid docs with post-spawn doctor …
dean0x Jul 25, 2026
cfe95e9
docs(knowledge): update external-model-routing feature knowledge base
dean0x Jul 25, 2026
2120891
fix(sec-2): strip ANTHROPIC_API_KEY from child envs; harden proxy.log…
dean0x Jul 25, 2026
db294d1
refactor(core): move the TTL cache to core with an injectable dir and…
dean0x Aug 12, 2026
42e6f29
refactor(core): derive dormancy from the Claude passthrough set
dean0x Aug 12, 2026
0a10c39
fix(core): reject malformed model names at the frontmatter boundary
dean0x Aug 12, 2026
0b3e5da
fix(proxy): scope child process env to a literal allowlist
dean0x Aug 13, 2026
a2df3cb
chore(deps)!: bump routing runtime to 0.2.0 and emit the minimal rout…
dean0x Aug 13, 2026
e8b89b8
test: stop build-mds tests from writing temp sources into the real co…
dean0x Aug 13, 2026
66e2775
feat(core): discover routable models from the routing runtime
dean0x Aug 13, 2026
741cd01
feat(agents): offer discovered models and aliases in the picker and -…
dean0x Aug 13, 2026
ada29cc
refactor(core): remove the hardcoded external model registry
dean0x Aug 13, 2026
94e0d40
test: close the real-binary and full-suite verification gaps
dean0x Aug 13, 2026
e752529
feat(proxy): warm the model cache after enable and report the registr…
dean0x Aug 13, 2026
220457a
fix(hooks): parse the relay health body instead of substring-matching…
dean0x Aug 13, 2026
15b8df1
chore(uninstall): remove model-discovery cache files
dean0x Aug 13, 2026
1392541
docs: sync external model routing docs and knowledge base
dean0x Aug 13, 2026
02e0513
fix(core): replace inlined dormancy predicate and fix stale comments
dean0x Aug 13, 2026
f780791
test(rigor): T5 fail-safe materialization and AC-S1 hostile mapping
dean0x Aug 14, 2026
a4dc652
test(rigor): T3 cwd-isolation, T4 stale-cache fallback suite, AC-P8 p…
dean0x Aug 14, 2026
e45d23d
test(rigor): AC-F2 alias, AC-F4 unavailable, AC-F6 formatter, AC-P4/P…
dean0x Aug 14, 2026
21db5a0
refactor(cache): add parseRawEnvelope, remove readCacheStale dead export
dean0x Aug 14, 2026
3aadee0
docs: correct stale API references in the external-model-routing know…
dean0x Aug 14, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
311 changes: 311 additions & 0 deletions .devflow/features/external-model-routing/KNOWLEDGE.md

Large diffs are not rendered by default.

3 changes: 2 additions & 1 deletion .devflow/features/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@
- **ambient-orchestrator** — src/assets/scripts/hooks, src/cli/commands/ambient.ts, src/core/plugins.ts — Use when modifying the ambient mode hooks (preamble, session-start-orchestrator), the orchestrator charter file (including the feature-knowledge operating rule), the git-marker helper, the ambient CLI toggle, or the plan-handoff fast-path. Keywords: ambient, preamble, orchestrator, charter, plan-handoff, session-start-orchestrator, git-marker, DEVFLOW_BG_UPDATER, devflow ambient, UserPromptSubmit, SessionStart, feature-knowledge.
- **dynamic-workflow-engine** — src/assets/commands/dynamic-build.mds, src/assets/commands/dynamic-plan.mds, src/assets/commands/dynamic-tickets.mds, src/assets/commands/dynamic-wave.mds, src/assets/commands/dynamic-profile.mds, src/assets/commands/_partials/_engine.mds, src/assets/commands/_partials/_wave.mds, dist/commands, tests/build-mds.test.ts — Use when authoring or modifying the dynamic-* commands (dynamic-build, dynamic-plan, dynamic-tickets, dynamic-wave, dynamic-profile), the shared engine/wave/preamble/factory MDS partials, or the build-mds test suite that pins doctrine literals. Keywords: dynamic-build, dynamic-plan, dynamic-tickets, dynamic-wave, dynamic-profile, Workflow tool, agentType, Gate 1, Gate 2, review loop, wave, tickets→plan→build, MDS, _engine.mds, _wave.mds.
- **resolve-pipeline** — src/assets/commands/resolve.mds, src/assets/agents/triager.md, src/assets/agents/coder.md, src/core/plugins.ts, src/assets/commands/code-review.mds — Use when modifying /resolve or /code-review convergence logic, adding or changing Triager disposition rules, adjusting Coder operating modes (issue-fix/validation-fix), touching the resolution-summary.md parser contract, changing the Verification Gate retry loop, or understanding how DIFF_FILES flows from git validate-branch into blast-radius triage. Keywords: resolve, triager, disposition matrix, blast-radius, FIX_NOW, FIX_SEPARATE, TECH_DEBT, FALSE_POSITIVE, BY_DESIGN, ESCALATED, resolution-summary, convergence parser, DIFF_FILES, issue-fix, validation-fix, Verification Gate, manage-debt.
- **installer-shadowing** — src/targets/claude-code/installer.ts, src/targets/claude-code/legacy.ts, src/cli/commands/init.ts, src/cli/commands/init-seed.ts, src/cli/commands/uninstall.ts, src/cli/commands/rules.ts, src/cli/commands/skills.ts, src/core/plugins.ts, src/core/assets.ts, src/core/paths.ts, src/core/manifest.ts, src/core/flags.ts, src/core/feature-config.ts — Use when modifying the install pipeline (installViaFileCopy, installAllRules, composeScripts, InstallReport), adding or changing skill/rule shadow override logic, touching uninstall scope (enumerateUserDevFlowContent, removeDevFlowInstallArtifacts, resolveDevflowDirCleanup) or install-artifact cleanup, extending the CLI skills/rules management commands, working with asset directory accessors (rulesDir, skillsDir, commandsDir) and package-root resolution, or modifying the init seeding layer (resolveInitSeed, resolveSeedFeatures, resolveSeedFlags, resolveSeedPlugins, --reset, knownFlags, knownPlugins, readConfigIfPresent, resolveExistingViewMode, getAllCommandNames, applyNonSelectableCarry). Keywords: installViaFileCopy, installAllRules, composeScripts, InstallReport, RuleInstallOutcome, SkillShadowState, RuleShadowState, shadow, unshadow, validateSkillShadow, validateRuleShadow, seedRuleShadow, prefixSkillName, unprefixSkillName, devflow:, skills, rules, uninstall, EISDIR, enumerateUserDevFlowContent, removeDevFlowInstallArtifacts, resolveDevflowDirCleanup, getPackageRoot, rulesDir, skillsDir, agentsDir, commandsDir, scriptsDir, LEGACY_SKILL_NAMES, LEGACY_AGENT_NAMES, orphan sweep, getAllSkillNames, getAllCommandNames, resolveInitSeed, resolveSeedFeatures, resolveSeedFlags, resolveSeedPlugins, resolveResetGatedInputs, resolveNonSelectableOptionalCarry, applyNonSelectableCarry, applyCliToggles, knownFlags, knownPlugins, readConfigIfPresent, resolveExistingViewMode, resolveFinalViewMode, reset, init-seed.
- **installer-shadowing** — src/targets/claude-code/installer.ts, src/targets/claude-code/legacy.ts, src/cli/commands/init.ts, src/cli/commands/init-seed.ts, src/cli/commands/uninstall.ts, src/cli/commands/rules.ts, src/cli/commands/skills.ts, src/core/plugins.ts, src/core/assets.ts, src/core/paths.ts, src/core/manifest.ts, src/core/flags.ts, src/core/feature-config.ts — Use when modifying the install pipeline (installViaFileCopy, installAllRules, composeScripts, InstallReport), adding or changing skill/rule shadow override logic, touching uninstall scope (enumerateUserDevFlowContent, removeDevFlowInstallArtifacts, resolveDevflowDirCleanup) or install-artifact cleanup, extending the CLI skills/rules management commands, working with asset directory accessors (rulesDir, skillsDir, commandsDir) and package-root resolution, or modifying the init seeding layer (resolveInitSeed, resolveSeedFeatures, resolveSeedFlags, resolveSeedPlugins, --reset, knownFlags, knownPlugins, readConfigIfPresent, resolveExistingViewMode, getAllCommandNames, applyNonSelectableCarry, proxy). Keywords: installViaFileCopy, installAllRules, composeScripts, InstallReport, RuleInstallOutcome, SkillShadowState, RuleShadowState, shadow, unshadow, validateSkillShadow, validateRuleShadow, seedRuleShadow, prefixSkillName, unprefixSkillName, devflow:, skills, rules, uninstall, EISDIR, enumerateUserDevFlowContent, removeDevFlowInstallArtifacts, resolveDevflowDirCleanup, getPackageRoot, rulesDir, skillsDir, agentsDir, commandsDir, scriptsDir, LEGACY_SKILL_NAMES, LEGACY_AGENT_NAMES, orphan sweep, getAllSkillNames, getAllCommandNames, resolveInitSeed, resolveSeedFeatures, resolveSeedFlags, resolveSeedPlugins, resolveResetGatedInputs, resolveNonSelectableOptionalCarry, applyNonSelectableCarry, applyCliToggles, knownFlags, knownPlugins, readConfigIfPresent, resolveExistingViewMode, resolveFinalViewMode, reset, init-seed, proxy, reapplyAgentMapping, revertExternalAgents, agent-models.json, proxy.json, proxy-routing.json, proxy.pid, applyDisableToSettings, buildRealPreflightDeps.
- **learning-capture-system** — src/assets/scripts/hooks, src/assets/agents/learning.md, src/cli/commands/learning.ts, src/core/feature-config.ts, src/core/learning-tuning-config.ts, src/hud/components/learning-counts.ts, src/assets/commands/_partials — Use when modifying capture hooks (capture-prompt/capture-turn/capture-question), the learning or memory pending-turns queues, the Learning agent (src/assets/agents/learning.md), the session-start-context learning directive, the feature-config toggles, the learning tuning config, the decisions content files (decisions.md/pitfalls.md/index.md) or their ledger ops, or the devflow learning CLI. Keywords: capture-prompt, capture-turn, capture-question, queue-append, pending-turns, memory-worker, Learning agent, learning directive, LEARNING MAINTENANCE, DEVFLOW_BG_UPDATER, learning-lock, queue_read_gates, decisions_load, DECISIONS_CONTEXT, feature-config, config.json, learning.json, decisions-ledger, assign-anchor, retire-anchor, render-decisions.
- **compliance-plugin** — src/assets/skills/compliance, src/assets/rules/compliance.md, src/assets/commands/_partials/_compliance.mds, src/core/plugins.ts, src/assets/commands/code-review.mds, src/assets/commands/plan.mds, src/assets/commands/implement.mds — Use when adding the devflow-compliance optional plugin to a project, implementing plugin-presence gates for future optional plugins, modifying the compliance reviewer/designer/coder integration surfaces, changing the CLAUDE.md Frameworks declaration convention, or adding new framework references to the compliance skill. Keywords: compliance, GDPR, HIPAA, PCI DSS, SOC 2, ISO 27001, SOX, compliance_gate, COMPLIANCE_ENABLED, plugin-presence gate, optional plugin, regulated data, audit trail.
- **external-model-routing** — src/core/proxy-state.ts, src/core/external-models.ts, src/core/agent-models.ts, src/core/agent-frontmatter.ts, src/cli/commands/proxy.ts, src/cli/commands/agents.ts, src/cli/agents-view, src/assets/scripts/hooks/ensure-proxy — Use when working on the proxy lifecycle (enable/disable/status/preflight), the ensure-proxy hook, per-agent model mapping, agent frontmatter rewriting, or the agents TUI. Keywords: proxy, external-model-routing, GPT, agent-models, ensure-proxy, frontmatter, devflow proxy, devflow agents, subswitch, ANTHROPIC_BASE_URL, dormancy, reapplyAgentMapping.
Loading
Loading