Skip to content

feat(notations): add document-view engine skeleton-file parser - #439

Merged
transitrix merged 1 commit into
mainfrom
methodology/1041-document-view-skeleton-parser
Aug 6, 2026
Merged

feat(notations): add document-view engine skeleton-file parser#439
transitrix merged 1 commit into
mainfrom
methodology/1041-document-view-skeleton-parser

Conversation

@transitrix

Copy link
Copy Markdown
Owner

Summary

  • First slice of the document-view engine: a new @transitrix/document-view-engine package whose parseSkeleton() turns a skeleton file's YAML header + {{ ... }} transclusion body into a header object and body AST.
  • Covers every syntax form: bare/field/traversal inline references (depth capped at 3), the {{# each TYPE where ... order by ... }} selection block, .field references scoped to an each body, trace, view, and the \{{ escape. IDs are validated against the canonical grammar (IDS_AND_REFERENCES.md §1-2, including the CAPABILITY V/H exception).
  • Scope is syntax only, stated explicitly in the package README — canon resolution, the four reference-resolution states, render profiles, derivation share, telemetry, and PDF output are not part of this PR.

Zero runtime dependencies, following this repo's existing packages/* convention (own hand-rolled parsing, no shared cross-package runtime import).

Not included: the CI workflow file for this package (.github/workflows/document-view-engine-test.yml) — pushing .github/workflows/** changes is currently blocked by a known token-scope limitation on this repo. The workflow file exists locally and needs to be added by whoever has the right token scope; until then, run the test manually (see Test plan).

Test plan

  • node packages/document-view-engine/tests/test_parse_skeleton.mjs — all checks pass
  • node scripts/check-notations.mjs — doc-lint clean
  • Add .github/workflows/document-view-engine-test.yml once push access allows it

Syntax-only first slice of the document-view engine: parseSkeleton()
turns a skeleton file's YAML header + {{ ... }} transclusion body into
an AST (inline references with bounded field traversal, each/where/
order-by selection, trace, view, the \{{ escape). Canon resolution,
reference-suspicion states, render profiles, and PDF output are
follow-on work.

Signed-off-by: Valerii Korobeinikov <vkgeorgia@icloud.com>
Signed-off-by: transitrix <279946036+transitrix@users.noreply.github.com>
@transitrix transitrix added the needs:human-merge Mergeable but not a simple PR; awaits human merge label Aug 6, 2026
@transitrix
transitrix merged commit bd71224 into main Aug 6, 2026
8 of 9 checks passed
@transitrix
transitrix deleted the methodology/1041-document-view-skeleton-parser branch August 6, 2026 17:29
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

needs:human-merge Mergeable but not a simple PR; awaits human merge

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants