Skip to content

refactor(translate): organize output IR ownership - #707

Merged
Menci merged 5 commits into
mainfrom
refactor/translate-protocol-lint
Nov 12, 2026
Merged

Menci merged 5 commits into
mainfrom
refactor/translate-protocol-lint

Conversation

@Menci

@Menci Menci commented Nov 11, 2026 •

Copy link
Copy Markdown
Owner

Separate output IR construction, record consumption, schema, lifecycle and unit ownership, and give the model and event adapters their final names. Remove unused output helpers while preserving main wire, error, cardinality and replay behavior.

Validated with 41 named files (622 tests), 67 controlled main-versus-refactor probes, 66 logical correspondence checks, translate TypeScript and scoped lint. Independent prerequisite for #673.

Protocol package ownership:

The duplicate structural JSON-object guard has been removed. Source event writers reuse isJsonObject from @floway-dev/protocols/common; IR/tool-argument-specific validation remains in translate.

Separate output construction, records, accumulation, lifecycle and path
operations. Name output model types explicitly and share JSON and text-range
shapes through their owners.

Move protocol fixtures and assertions out of output IR tests. Let unit
queues own their links and remove dead builder and path-query APIs.

Preserve configured choice limits and native SSE, error and sidecar behavior.
Validate with 612 focused tests, 67 baseline differential probes, 39 logical
correspondences, scoped lint and the owning TypeScript project.
@Menci
Menci force-pushed the refactor/translate-protocol-lint branch from b2eb939 to c94b6c4 Compare November 11, 2026 20:57
Use directional events modules and read/write entrypoints for the seven
native output adapters, and mirror those owners in their tests. Move the
unchanged source writer options shape to its shared owner.

Finish schema phantom, absent-string and type-equality names so the input
work has no remaining output-only naming migration.

Preserve native behavior with 622 named tests, 67 controlled main/final
wire and replay probes, 66 runtime/declaration/test-body correspondences,
98 scoped lint targets and the translate TypeScript project.
@Menci Menci changed the title refactor(translate): tighten the protocol-side surface the Fit IR left loose refactor(translate): organize output IR ownership Nov 11, 2026
@Menci
Menci changed the base branch from feat/fit-ir-input to main November 11, 2026 21:59
Keep output validation diagnostics, type refinements and reviewed comments
with their output owner. Preserve configured choice limits and gap filling
while narrowing relative paths to strings and explicit path arrays.

Give completion-aware JSON parsing its own module and mirrored tests.
Reuse the existing structural record guard from the JSON owner in native
writers. Retain the reviewed sentinel and write-validation rationale.

Validate 625 tests in 43 named files, 68 controlled main/final differential
probes, 89 runtime/declaration/test correspondences, 101 scoped lint targets
and the translate TypeScript project. Track diagnostic terminology changes
explicitly while comparing complete wire, digest and native replay values.
Move the existing three immutable error identity cases together under their protocol ownership file, retaining every test body and assertion.
Remove the duplicate structural guard and import isJsonObject from protocols/common. Keep tool-argument and IR-specific object validation at the translation boundary.
@Menci
Menci marked this pull request as ready for review November 12, 2026 11:36
@Menci
Menci merged commit 20f9946 into main Nov 12, 2026
21 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant