Skip to content

RFC-0005: filesystem host-surface plugin RFC (draft, bitty.fs successor) - #440

Merged
Xuepoo merged 3 commits into
mainfrom
ctx-0280/docs-rfc-0005-fs-surface
Oct 5, 2026
Merged

Xuepoo merged 3 commits into
mainfrom
ctx-0280/docs-rfc-0005-fs-surface

Conversation

@Xuepoo

@Xuepoo Xuepoo commented Oct 5, 2026

Copy link
Copy Markdown
Contributor

Priority: P1 | Area: architecture | Labels: docs,P1 | Milestone: v0.1.0 | RFC: OQ-056 | Issue: #439 | Task: CTX-0280

Draft successor RFC for the missing plugin file-access surface (RFC-0004 pattern: draft, security review, acceptance). Reconciles the draft illustrative bitty.fs.open/append/read/list sketch (panel-history candidate) against the accepted fs.read:PATTERN/fs.write:PATTERN capability split as decided verbs read/write/list under a NEW bitty.fs.* root (never bitty.terminal.*, v1 frozen with no fs namespace): scoped grants with no wildcard reusing the 4096/32/8KiB Core bounds, typed oracle-tight denials, untrusted labeling with preview-equality, read-into-VM-only grant combination, and no watch or tail-follow.

Targets OQ-056 (amended in this PR to name the surface as v2 scope, W-01/W-139 amendment pattern). No Closes: this PR must NOT merge until independent security review plus acceptance (commander arranges next). Blocked consumers: file-manager (draft policy-only), editor preview, Wheel (illustrative only).

Files: new docs/decisions/rfcs/RFC-0005-filesystem-host-surface.md (draft); OQ-056 amendment in docs/decisions/open-questions.md; rfcs/README.md table row; decisions/index.md candidate bullet. No implementation claims; no weakening of the accepted fs identifier split, the v1 freeze, or the Core-boundary rules.

Gates: just check exit 0; act -n dry-run of ci.yml success.

Note: the commit subject carries a [CTX-0279] prefix prepended by the managed prepare-commit-msg hook from stale branch binding (this work is CTX-0280 on branch ctx-0280/docs-rfc-0005-fs-surface). Amend cannot clear it (the hook re-adds it) and bypassing the hook is forbidden, so the artifact is disclosed here instead (same precedent as #431, #433, and #434).

Do NOT merge (commander merges after CI + CodeRabbit + security review).

@Xuepoo Xuepoo added this to the v0.1.0 milestone Oct 5, 2026
@Xuepoo Xuepoo added docs Documentation P1 Priority: high labels Oct 5, 2026
@Xuepoo

Xuepoo commented Oct 5, 2026

Copy link
Copy Markdown
Contributor Author

Security-review fixes applied (reviewer rfc0005-reviewer, PX-0931 NEEDS-FIX F-01..F-04) in 0b0bab1 — RFC file only, stays draft:

  • F-01 (listing denial): listings now suppress denied entries silently (silent skip) as the default; any alternative shape is parked to the security review only if it preserves the no absent-vs-denied signal rule, with disposition required before acceptance. Unresolved question + threat-model touchpoint updated to match.
  • F-02 (no migration): added explicit both-directions sentence — a terminal.* grant never implies an fs-family grant and vice versa — and named terminal input/output in the non-implication list.
  • F-03 (label survival): label now survives redaction, truncation, and attribution.
  • F-04 (combination rule): process invocation over file content now restates argv-first with validated arguments and no shell-string construction or interpolation (P0-AC-009) in the rule itself.

Gates: just check green. Not merged — awaiting re-review + acceptance.

@Xuepoo

Xuepoo commented Oct 5, 2026

Copy link
Copy Markdown
Contributor Author

Mechanical acceptance flip for RFC-0005 (filesystem acceptance) pushed.

Commit: 5dc321a on ctx-0280/docs-rfc-0005-fs-surface (prev head 0b0bab1). Stale-hook prefix artifact [CTX-0281] disclosed (hook prepended [CTX-0281] to [CTX-0280] subject, same class as prior [CTX-0279] artifact on this branch).

Flips (no normative rewording, per PX-0936 list):

Evidence verified:

Gates: just check exit 0 (fmt-check / markdownlint 0 issues / links 102 files / cross-repo offline 102 files 939 links 115 unique resolved 115 dead 0 / metadata / language / agents / hygiene / svg-skip / state / actionlint).

Not merged (commander merges after CI). Mergeable=MERGEABLE, mergeStateStatus=BLOCKED at push time.

@Xuepoo
Xuepoo merged commit fd35c26 into main Oct 5, 2026
1 of 4 checks passed
@Xuepoo
Xuepoo deleted the ctx-0280/docs-rfc-0005-fs-surface branch October 5, 2026 19:55
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

docs Documentation P1 Priority: high

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant