fix: collapse moa providers under fable moa

This commit is contained in:
artale 2026-06-29 11:33:19 +02:00
parent b90027f675
commit debf6b82af
2 changed files with 11 additions and 8 deletions

View File

@ -24,7 +24,6 @@ describe("fableflow manifest", () => {
"zte-gate",
"factory-reconcile",
"model-access",
"fugu-ultra",
"fable-moa",
"rsi-canary",
]));
@ -50,13 +49,20 @@ describe("fableflow manifest", () => {
expect(edges).toContain("governance-contract>agent-chain-workers");
expect(edges).toContain("agent-chain-workers>zte-gate");
expect(edges).toContain("factory-reconcile>git-proxy-8099");
expect(edges).toContain("model-access>fugu-ultra");
expect(edges).toContain("model-access>fable-moa");
expect(edges).toContain("fugu-ultra>agent-chain-workers");
expect(edges).toContain("fable-moa>agent-chain-workers");
expect(edges).toContain("deploy-webhook-8098>git-proxy-8099");
});
it("does not expose provider-specific moa nodes", () => {
const manifest = createFableFlowManifest();
const ids = manifest.nodes.map((node) => node.id);
expect(ids).not.toContain("fugu-ultra");
expect(ids).not.toContain("hermes-moa");
expect(ids).toContain("fable-moa");
});
it("writes JSON manifest", () => {
const dir = fs.mkdtempSync(path.join(os.tmpdir(), "fableflow-"));
const file = path.join(dir, "manifest.json");

View File

@ -68,9 +68,8 @@ export function createFableFlowManifest(): FableFlowManifest {
node("zte-gate", "ZTE Gate", "receipt", "verify", "gate", "plan/gate", "Verifier gate before deploy decisions", "src/fable5/zte-protocol.ts", ".fable/zte-receipts.jsonl", "ZT", 720, 360),
node("factory-reconcile", "Factory Reconcile", "receipt", "verify", "factory", "live receipt", "Live reconciliation overrides memory", "src/fable5/factory-reconciliation.ts", ".fable/factory/reconciliation-live.json", "RC", 960, 360),
node("model-access", "Model Access", "receipt", "verify", "models", "access check", "Model access claims require fresh receipt", "src/fable5/model-access-receipt.ts", "fable.model_access.receipt.v1", "MA", 0, 540),
node("fugu-ultra", "Fugu Ultra", "model", "verify", "models", "orchestration model", "Sakana Fugu Ultra candidate; unknown until model-access receipt verifies official access", "sakana/fugu-ultra access probe", "fable.model_access.receipt.v1", "FU", 240, 540),
node("fable-moa", "Fable MoA", "model", "verify", "models", "mixture worker slot", "Fable MoA worker slot; provider access must be verified by model-access receipts", "hermes-moa / sakana-fugu provider receipts", "fable.model_access.receipt.v1", "MO", 480, 540),
node("rsi-canary", "RSI Canary", "receipt", "verify", "rsi", "canary only", "Canary repair proven; broad autopatch remains unproven without fresh receipt", "fable rsi receipts", ".fable/rsi/canary-live-*.json", "RS", 720, 540),
node("fable-moa", "Fable MoA", "model", "verify", "models", "mixture worker slot", "Fable MoA worker slot; provider access must be verified by model-access receipts", "hermes-moa / sakana-fugu provider receipts", "fable.model_access.receipt.v1", "MO", 240, 540),
node("rsi-canary", "RSI Canary", "receipt", "verify", "rsi", "canary only", "Canary repair proven; broad autopatch remains unproven without fresh receipt", "fable rsi receipts", ".fable/rsi/canary-live-*.json", "RS", 480, 540),
],
edges: [
edge("feedbackpilot-intake", "forgejo-intake", "intake", "opens issue"),
@ -83,9 +82,7 @@ export function createFableFlowManifest(): FableFlowManifest {
edge("factory-reconcile", "git-proxy-8099", "deploy", "canonical gated path"),
edge("deploy-webhook-8098", "git-proxy-8099", "legacy", "superseded by"),
edge("forgejo-writeback", "forgejo", "intake", "comments/labels"),
edge("model-access", "fugu-ultra", "verify", "tracks access"),
edge("model-access", "fable-moa", "verify", "tracks provider access"),
edge("fugu-ultra", "agent-chain-workers", "verify", "candidate worker after verified access"),
edge("fable-moa", "agent-chain-workers", "verify", "candidate worker after verified provider"),
edge("model-access", "agent-chain-workers", "verify", "provider evidence"),
edge("rsi-canary", "zte-gate", "verify", "canary proof only"),