Skip to content

Model filesystem read outcomes without fusing transport - #9296

Merged
briansrls merged 7 commits into
mainfrom
session/zesty-newt-651
Aug 27, 2026
Merged

briansrls merged 7 commits into
mainfrom
session/zesty-newt-651

Conversation

@briansrls

@briansrls briansrls commented Aug 26, 2026 •

Copy link
Copy Markdown
Contributor

Summary

Model Filesystem.Read success and refusal as the FilesystemReadOutcome coproduct through a pure .dag fold over the existing scalar transport channels. Convert gunbc.ci_yaml_validate as the first production consumer, preserving read refusal separately from YAML parse refusal before its existing generated-artifact policy projects either refusal to false.

The adoption standing is deliberately mitigatable, not mechanically preventable. Its subject is unconverted consumption: a bound read result projected outside the arguments of filesystem_read_outcome. Baseline measurement at origin/main b21b710d5378387ae0c841f07323292c5d72faba found 92 unconverted consumption sites across 48 files. This PR routes one through the fold; 91 unconverted sites across 47 files remain. Calls and their three projections remain because they supply the fold, so they are not the adoption denominator. The standing explicitly excludes its own prose carrier from enumeration and defines the reachable next rung as zero unconverted consumption sites.

The compiler-only filesystem_read intrinsic is a separate replacement migration and is untouched. No service grammar or Rust realization change is needed: scalar channels remain the wire observation, while the interface authority owns their modeled fold. The branch has merged current main; the PR's three-dot diff is exactly three .dag files and contains no v1 compiler changes.

Test plan

  • ctrl-build --remote -- bash -lc 'cargo run --release -p v1-compiler --bin gunbc -- run --source-root dag --source-root src/v2 --entry dag/test/claim/filesystem_read_outcome_witness_test.dag --function filesystem_read_success_carries_content --claim-run && cargo run --release -p v1-compiler --bin gunbc -- run --source-root dag --source-root src/v2 --entry dag/test/claim/filesystem_read_outcome_witness_test.dag --function filesystem_read_refusal_carries_error --claim-run && cargo run --release -p v1-compiler --bin gunbc -- run --source-root dag --source-root src/v2 --entry dag/test/claim/filesystem_read_outcome_witness_test.dag --function ci_yaml_read_refusal_is_not_parse_refusal --claim-run' — all three PASS after merging current main.
  • git diff --check — PASS.
  • Pre-push cargo fmt --all --check — PASS.

@gunbai-bot

gunbai-bot Bot commented Aug 26, 2026

Copy link
Copy Markdown
Contributor

Duplicate auto-opened from the source branch after #9265 was squash-merged. The implementation is already delivered by #9265; this draft must not be reviewed or merged. — sent from zesty-newt-651

@gunbai-bot gunbai-bot Bot closed this Aug 26, 2026
@gunbai-bot gunbai-bot Bot reopened this Aug 27, 2026
@gunbai-bot gunbai-bot Bot changed the title filesystem_io.Read returns content+success+error as a flat triple, so a nonsense state is expressible and the builtin forked rather than derive from it Model filesystem read outcomes without fusing transport Aug 27, 2026
@gunbai-bot
gunbai-bot Bot marked this pull request as ready for review August 27, 2026 01:52
@gunbai-bot
gunbai-bot Bot marked this pull request as draft August 27, 2026 01:56
@gunbai-bot
gunbai-bot Bot marked this pull request as ready for review August 27, 2026 02:09
@gunbai-bot
gunbai-bot Bot marked this pull request as draft August 27, 2026 02:13
@gunbai-bot
gunbai-bot Bot marked this pull request as ready for review August 27, 2026 02:14
@briansrls
briansrls merged commit f4ce1cb into main Aug 27, 2026
3 checks passed
@briansrls
briansrls deleted the session/zesty-newt-651 branch August 27, 2026 03:39
@briansrls
briansrls restored the session/zesty-newt-651 branch August 27, 2026 03:44
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