Codify src/lib/vfs.ts as documented merge seam (and stop inline mutations elsewhere) #6
Labels
No labels
blocked:needs-attention
blocked:needs-decision
blocked:needs-decompose
blocked:needs-design
blocked:needs-triage
blocked:unclassified
bug
documentation
enhancement
gsd-spec
in-progress
needs-decompose
priority:high
priority:low
priority:medium
quickfix
test
triage-approved
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
Mark/kimi_agent_openscad_parametric_gui#6
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
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?
src/lib/vfs.tsalready declares itself a SHARED CONTRACT:But the rest of the codebase isn't following that contract:
src/components/workbench/FileTree.tsx,EditorTabs.tsx, etc. reach into the VFS via the store hook (useSyncExternalStore) but assume specific event shapes.useSyncExternalStoreWithSelectoretc.) directly.Scope:
src/lib/README.mdlisting the public exports.no-restricted-imports) that blockssrc/lib/vfs.tsimports fromsrc/components/(forces components through the React layer).CONTRIBUTING.md(which doesn't exist yet — see issue #7).Acceptance:
Labels: documentation, enhancement
Closed by commit
960665f:src/lib/README.md— public API surface documentation for vfs.tseslint.config.js—no-restricted-importsrule blocks direct vfs imports fromsrc/components/CONTRIBUTING.md— shared-contract contributor guidanceAcceptance criteria met: new contributor can find the public API in one place, and the lint rule catches violations (verified:
DatumsPanel.tsxline 12 now correctly errors).