feat: STDSEED engine-neutral (G2) + root repo.meta.json (Phase B item 1)#13
Merged
Conversation
Remove STDSEED's bundled FileMan default filer (fileViaDie -> FILE^DIE), the lone real below-waterline VistA reference in m-stdlib. The loader is already engine-neutral (filer injected by string), so the `filer` argument is now REQUIRED: load()/loadJson() raise the new ,U-STDSEED-NO-FILER, when it is empty (checked before the file read / JSON parse). This is the m/v waterline G2 decision (Option B, user-chosen 2026-06-14): move the FileMan default up to the v layer rather than allow it as an annotated G2 exception, so G2 stays a pure deny-list with no escape hatch. A caller audit confirmed no real caller used the no-filer default. - src/STDSEED.m: delete fileViaDie; raise U-STDSEED-NO-FILER on empty filer; doc/header/@raises/@example updated; orphan U-STDSEED-FILER-DIE-ERROR gone. - tests/STDSEEDTST.m: TDD-red tLoadWithoutFilerRaises + tLoadJsonWithoutFilerRaises; inject a filer into the three loadJson validation-error tests (they relied on the default to reach the parser); scrub FileMan from test comments. - dist/ regenerated (U-STDSEED-NO-FILER registered); module doc History + module-tracker row updated. Verified: STDSEEDTST 37/37 on YDB + IRIS; core suite 49/2098/0 on YDB; lint 0 errors; coverage 98.8%. Follow-up: re-home fileViaDie^VSLSEED in v-stdlib. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
751241c updated stdseed.md's frontmatter + intro + API table for the engine-neutral (required-filer) change but left three sections stale: the "default filer wraps FILE^DIE" paragraph, the error-codes table (still listing the now-removed FILER-DIE-ERROR / NOT-IMPLEMENTED and missing NO-FILER), and the History ("FILE^DIE runtime-only dep", 35/35). Bring all three in line with the committed source + manifest: error table now matches dist/errors.json's 7 STDSEED codes exactly; History records the fileViaDie removal + 37/37 dual-engine. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
`m arch check` reads the meta root-first, so m-stdlib's hand-edited meta moves from dist/repo.meta.json to the repo root — the standardized "one meta artifact, one location". Updated the `make check-manifest` gate to assert the root file, and removed the stale "org catalog generator fetches dist/repo.meta.json by raw URL" comment (no such generator exists; the future meta-gate reads root metas). Verified: `m arch check .` resolves layer m from root + passes meta-shape validation, 0 violations; `make check-manifest` clean. Rides this branch (the m-stdlib Phase B PR) so it stays fully waterline-clean. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
STDSEED engine-neutral for the G2 gate; meta moved to root repo.meta.json (check-manifest updated).