feat(harness): flow context modes — blind vs feedback (piedra Rosetta) + tooling PF - #6
Merged
Merged
Conversation
…) + tooling PF
Ejecuta la tarea de backlog 2026-07-08-flow-context-modes (F0–F4 + tooling F5;
la campaña PF comparativa queda a un comando, pendiente de GO por coste):
- AgenticFlow.contextMode ('blind' default | 'feedback'); blind byte-idéntico
probado empíricamente (captura de prompts/checkpoints pre/post: 0 diffs).
- Rosetta: context-manifest.ts (manifest determinista por run, ficheros
step.<id>[.iterN].md bajo .fluxor/run-context/<runId>/, retriever exento);
génesis solo en feedback; <flow_awareness> 100% determinista en system
prompt; briefings prompt-driven leídos via FS tools (nunca inyectados).
- Guardrail de briefings activo en TODAS las superficies: adaptador real-FS
cuando falta options.fileSystem (solo feedback), rootDir efectivo
materializado, walk de snapshotWorkspace con exclusión node_modules/.git.
- Checkpoints: campo aditivo contextFileSnapshot (shape existente intacto).
- Formato: export estampa contextMode (omitido en blind); round-trip
export→import→serve verde; serve acepta override validado por request.
- UI: toggle de modo en FrameNode (pipeline-frame-actions) → FrameNodeData →
harness-compiler → AgenticFlow (integración sin mocks); badge en
StepRunEvidence; WCAG AAA auditado.
- SDKs: downgrade explícito a blind con warning once en java/python
(contextMode preservado verbatim); conformance + README matriz runtime×modo.
- PF: --context-mode en pf:run/pf:bench, contextMode en ledger (viejos=blind),
nuevo pf:compare (markdown, empareja seed+suite+modelo, upsert idempotente
en docs/pf-context-mode-campaign.md).
Gates: vitest 1566/1566 · tsc limpio · eslint 0 err · java 66/66 (1 skip
gateado) · python 15/15 · round-trip manual OK. E2e desktop local pendiente
de puerto 5173 (ocupado por otro dev server del usuario) — gate pre-merge.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Campaña blind vs feedback ejecutada (mimo/mimo-v2.5-pro, seed 7): - team-work (handoffs): 79→84 (+6.33%), +28.94% tokens → feedback ayuda - progression (iterativa): 52→22 (-57.69%) → feedback perjudica Conclusión (F5): feedback queda OPT-IN, blind sigue siendo default — depende de la topología del flow, activarlo por defecto degradaría los flows de continuidad iterativa. Resultado y salvedad estadística (n=1/celda, follow-up ≥3 seeds) documentados en docs/pf-context-mode-campaign.md. Además: redondeo de valores en la tabla de pf:compare (latencyMs traía ruido float; Δ% se sigue calculando sobre los valores crudos). 41 tests verdes. Backlog #1 F0–F5 COMPLETO. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Ejecuta la tarea de backlog flow-context-modes-blind-vs-feedback (F0–F4 completas + tooling de F5; la campaña PF comparativa espera GO del usuario por coste de tokens).
Qué añade
AgenticFlow.contextMode('blind'default ·'feedback'): en blind la ejecución es byte-idéntica a hoy — probado empíricamente (captura de prompts+checkpoints pre/post cambio con git stash: 0 diferencias) y los 1408 tests previos pasan sin tocar uno solo.context-manifest.ts+ spec): manifest determinista por run (.fluxor/run-context/<runId>/), ficheros de contexto por step (por-iteración en loops), retriever exento, presupuesto 12KB. El harness solo inyecta texto determinista propio (<flow_awareness>); los briefings escritos por LLMs se leen via FS tools — nunca se inyectan (anti-inyección por diseño).fileSystem(solo feedback), rootDir efectivo, y exclusiónnode_modules/.giten el walk del snapshot (2 hallazgos del reviewer del plan que habrían quemado 3× tokens por step o cargado GB a memoria).FrameNodeData→ harness-compiler →AgenticFlow(test de integración sin mocks); badge en step-config; WCAG AAA.contextModepreservado verbatim.--context-modeenpf:run/pf:bench, campo en ledger (registros viejos = blind), y nuevopf:compare(tabla markdown por seed+suite+modelo con Δ%, upsert idempotente sobredocs/pf-context-mode-campaign.md).Gates
Pendiente de GO del usuario (no bloquea el PR)
Campaña PF blind vs feedback (consume tokens): 4×
pf:run(team-work/progression × blind/feedback, seed 7) +pf:compare— comandos exactos endocs/pf-context-mode-campaign.md.🤖 Generated with Claude Code