Skip to content

schemas: experimental Story DNA v0 - #65

Draft
zedarvates wants to merge 2 commits into
mainfrom
xp/story-dna-v0
Draft

zedarvates wants to merge 2 commits into
mainfrom
xp/story-dna-v0

Conversation

@zedarvates

@zedarvates zedarvates commented Sep 30, 2026 •

Copy link
Copy Markdown
Owner

First bounded slice for #64. Media-neutral schema only; no migration or runtime claim. Intended for fixture/round-trip validation before adapters.

Contract and fixture completion — 2026-10-03

  • Reuse the public Harbour happy-path.jsonl fixture; pin its source Git blob and retain mock: true. The checked fixture is a partial narrative projection, not a lossless conversion of the original Harbour project.
  • Validate the Draft 2020-12 structure plus unique graph IDs and typed event/entity/relationship/arc references. Preserve extension data without inventing semantics for motivations, secrets or chronology.
  • Add strict JSON loading and stable UTF-8 serialization. Reject duplicate keys, non-finite values and lossy coercions. Keep array order meaningful.
  • Add contract documentation and a focused Python 3.11/3.12 PR workflow.

Executed evidence

Head: 9146e0804123ae5ca3c5ab93fa35af111e09f1c5. Locally on Python 3.12.14: python -m pytest -q tests/test_story_dna.py — 37 passed. Includes source alignment, lossless Unicode/extension round-trip, independent process hash seeds, duplicates and unresolved references. py_compile and git diff --check passed. GitHub workflow and SonarQube evidence must be checked on this new SHA; older green checks do not cover this change.

Remaining scope / decision

The contract stays EXPERIMENTAL and this PR remains a draft. Review the v0 reference rules and extension policy before using it as an adapter boundary. No project migration, renderer, provider run, comic/manga export or Story-to-Game adapter is implemented by this change.

Current-head GitHub confirmation — 2026-10-03

Story DNA Contract run 37124506171 is successful on 9146e0804123ae5ca3c5ab93fa35af111e09f1c5. Both contract (3.11) and contract (3.12) jobs completed successfully. SonarCloud analysis 111207923481 is also successful on the same head. This gate does not establish adapter/runtime behavior or closure of every security alert.

@sonarqubecloud

sonarqubecloud Bot commented Oct 3, 2026

Copy link
Copy Markdown

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant