protocol: ask for a create's default grid by absence #167
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
Notifications
Due date
No due date set.
Dependencies
No dependencies set
Reference
natsukium/felis!167
Loading…
Reference in a new issue
No description provided.
Delete branch "fix/proto-dims-presence-146"
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?
Fixes #146.
SpawnArgs.dimsis nowoptional GridDims: a create asks for the daemon'sdefault by absence, and rows/cols
0is refused like any other value outsideREQ-605a's band. That collapses
RequestedDims::admit_announcedintoadmit,leaving two admissions on the type —
admit(refuse out of band) andclamp(live resize) — instead of three whose only difference was which zeros they
forgave. The pixel pair keeps its
0= unknown, since a headless create and anunmapped window genuinely have no pixel size to name. On the CLI
--rowsand--colsbecome a required pair, refused locally at exit 2, and the bridgeanswers half a geometry with
invalid_request.The second commit freezes the 1.0 vocabulary for the other two "none" spellings
the issue raised:
ResourceReport's optional ceilings (per_subject_limit,global_limit,max_subject_used) are absent — not0— where the scopedefines no such number, and the
env/env_basesplit states which layer isUTF-8 by construction and which carries host-native bytes.
The wire break is acknowledged in
crates/felis-protocol/proto/BREAKING.mdagainst the current
maintip;bufreports nothing, because a message fieldalready carries presence in proto3, so only the meaning moved.
Doc cascade:
docs/reference/ipc.md(absent-value tables for the creategeometry and the resource ceilings),
docs/reference/cli.md(the--rows/--colspair and the JSONnull-vs-0reading),docs/reference/spec.md,docs/explanation/architecture/ipc.md("Absence is the only thing a sentinelmay mean" extended to the request side and the ceilings),
docs/explanation/architecture/session-lifecycle.md,skills/felis/SKILL.md,and a
CHANGELOG.mdentry.Verified: just check green (fmt, clippy, nextest, deny, proto-compat); reviewed by pi luna + pi sol; docs proofread by Gemini gemini-3.8-flash-high
Deferred
admitted_geometry_is_bounded_or_refusedunderjust kani— the harness was re-pointed atadmitand compiles, but Kani needs the.#kanishell, which is outside thejust checkgate this task runs; the property is unchanged from the version that was proved before.felis.proto'sResourceReportandEnvPair/EnvBytesPaircomments were left as they are — the accepted plan is docs-only for both; the freeze tables now live inreference/ipc.mdandreference/cli.md.f407606922f0c3c0b3fa