protocol: put a resource row's scope-dependent numbers in its scope arm #340
No reviewers
Labels
No labels
priority/P0
priority/P1
priority/P2
release/v0.1.0
status/blocked
status/planned
type/bug
type/design
type/test-gap
type/tracker
No milestone
No project
No assignees
1 participant
Due date
No due date set.
Dependencies
No dependencies set
Reference
natsukium/felis!340
Loading…
Reference in a new issue
No description provided.
Delete branch "issue-328"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Closes #328.
Case 2 (schema):
ResourceReportcarries its scope as a oneof.DaemonScope { global_limit };SubjectScope { subject: SubjectKind, max_subject_used, per_subject_limit, global_limit }; every ceiling isLimit { oneof { bounded, unlimited } }, because0is a legitimate value for both a ceiling and a subject's depth. A daemon row with a per-subject ceiling is unrepresentable; a row with no scope or a limit with no arm is refused instead of read as a default.felis daemon statusis unchanged in both formats (--format jsonbyte-identical by flattening; the human linemax <scope> unavailableis gone because the shape cannot occur).Cases 1, 3, 4 (records only): integer ids past f64 precision are JSON strings (
cli.md); theenv_basesender rule stays a send-side invariant with the daemon-side alternative recorded as impossible; the next optimization earns a mode, not a second bool.Decision: the last comment on #328 (six rounds of design review). Code review: pi luna (PASS, two non-blocking fixed) then pi sol (PASS, one non-blocking fixed: the skew outcome is a clean decode failure in both directions). Second of the sequential proto PRs, rebased on #339;
BREAKING.mdacknowledges the break against that merge.298295e4b55ac6e3d84e