@tiinex/app 0.1.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (580) hide show
  1. package/LICENSE +201 -0
  2. package/NOTICE +31 -0
  3. package/README.md +26 -0
  4. package/docs/CONSUMER-CONTRACT.md +65 -0
  5. package/package.json +94 -0
  6. package/src/acceptance/knownScenarios.case.mjs +48 -0
  7. package/src/acceptance/knownScenarios.js +89 -0
  8. package/src/acceptance/postV423CanonicalTransitionProductVerticalSlice.case.mjs +774 -0
  9. package/src/acceptance/postV437M0ETimePortalProductParityClosure.case.mjs +51 -0
  10. package/src/acceptance/postV447M0FGithubSocialPublicationProductIntegration.case.mjs +33 -0
  11. package/src/acceptance/postV450M0ProductAcceptanceHardening.case.mjs +82 -0
  12. package/src/acceptance/postV470SchemaReadingContractMaterializationIdentitySourceCoalescingAuthorityCorrection.case.mjs +236 -0
  13. package/src/acceptance/recoveryAcceptance.case.mjs +196 -0
  14. package/src/adapters/adapter.definition.schema.json +33 -0
  15. package/src/adapters/archive/archive.adapter.case.mjs +212 -0
  16. package/src/adapters/export/export.adapter.js +79 -0
  17. package/src/adapters/git-native/git-native.adapter.js +43 -0
  18. package/src/adapters/github/github.adapter.case.mjs +843 -0
  19. package/src/adapters/github/github.adapter.js +395 -0
  20. package/src/adapters/github/github.issueEmbedded.js +262 -0
  21. package/src/adapters/github/github.issueMirror.js +309 -0
  22. package/src/adapters/github/github.issueSnapshot.js +475 -0
  23. package/src/adapters/github/github.issueSurface.js +188 -0
  24. package/src/adapters/github/github.issueTransport.js +237 -0
  25. package/src/adapters/github/github.publicationRead.js +24 -0
  26. package/src/adapters/github/github.readTransport.js +18 -0
  27. package/src/adapters/github/github.repoDiscovery.js +222 -0
  28. package/src/adapters/github/github.repoMirror.js +255 -0
  29. package/src/adapters/github/github.repoProxy.js +276 -0
  30. package/src/adapters/github/github.repoSurface.js +60 -0
  31. package/src/adapters/github/github.transportDiagnostics.js +68 -0
  32. package/src/adapters/local/local.adapter.case.mjs +72 -0
  33. package/src/adapters/local/local.adapter.js +188 -0
  34. package/src/adapters/registry.js +35 -0
  35. package/src/adapters/static/static.adapter.js +84 -0
  36. package/src/app/App.js +1 -0
  37. package/src/app/TiinexApp.jsx +822 -0
  38. package/src/app/appShell.views.jsx +58 -0
  39. package/src/app/artifactAuthoringCapability.js +49 -0
  40. package/src/app/boot/bootApp.js +19 -0
  41. package/src/app/boot/environment.js +1 -0
  42. package/src/app/canonicalAuthoringValues.js +4 -0
  43. package/src/app/canonicalCreationProductController.js +57 -0
  44. package/src/app/canonicalCreationProductSettlement.case.mjs +10 -0
  45. package/src/app/canonicalCreationProductSettlement.js +11 -0
  46. package/src/app/canonicalReferenceLocalCreateCommand.js +210 -0
  47. package/src/app/canonicalReferenceTargets.js +73 -0
  48. package/src/app/canonicalTransitionLocalCreateCommand.js +217 -0
  49. package/src/app/defaultWorkspaceStart.case.mjs +39 -0
  50. package/src/app/defaultWorkspaceStart.js +65 -0
  51. package/src/app/defaultWorkspaceStartCommand.js +55 -0
  52. package/src/app/durableLocalMutationPolicy.js +21 -0
  53. package/src/app/githubMaterializationSummary.js +69 -0
  54. package/src/app/githubProgress.js +25 -0
  55. package/src/app/githubSourceInput.js +47 -0
  56. package/src/app/githubSourceMaterializationCommand.js +97 -0
  57. package/src/app/githubSourceOperation.js +226 -0
  58. package/src/app/governanceDialogData.js +27 -0
  59. package/src/app/handoffPackageImportCommand.js +182 -0
  60. package/src/app/historyAuthority.js +53 -0
  61. package/src/app/initialWorkspaceBootstrapOperation.js +105 -0
  62. package/src/app/lineageCommand.js +118 -0
  63. package/src/app/lineageSourceRecovery.js +339 -0
  64. package/src/app/localDraftMutationCommand.js +174 -0
  65. package/src/app/localMaterialCommand.js +124 -0
  66. package/src/app/nodeGraphVerse.case.mjs +111 -0
  67. package/src/app/persistenceOwnership.js +92 -0
  68. package/src/app/productStateBoundary.js +7 -0
  69. package/src/app/providers/AppProviders.js +1 -0
  70. package/src/app/providers/LocaleProvider.js +1 -0
  71. package/src/app/providers/SchemaRegistryProvider.js +1 -0
  72. package/src/app/providers/WorkspaceProvider.js +1 -0
  73. package/src/app/publicTarget.js +251 -0
  74. package/src/app/publicTargetRestoreCommand.js +149 -0
  75. package/src/app/recordUi.cache.js +35 -0
  76. package/src/app/recordUi.js +11 -0
  77. package/src/app/routes/RouteSurface.js +1 -0
  78. package/src/app/routes/routes.js +1 -0
  79. package/src/app/runtimeState.js +54 -0
  80. package/src/app/schemaCurrentDeclaration.js +69 -0
  81. package/src/app/schemaFactoryLocalCreateCommand.js +101 -0
  82. package/src/app/schemaFactoryViewerProof.case.mjs +134 -0
  83. package/src/app/schemaFactoryViewerProof.js +20 -0
  84. package/src/app/schemaNavigationCommand.js +285 -0
  85. package/src/app/schemaNavigationMaterialization.js +171 -0
  86. package/src/app/schemaNavigationRuntimeCatalog.js +25 -0
  87. package/src/app/schemaNavigationState.js +66 -0
  88. package/src/app/schemaReadingContractQualification.js +91 -0
  89. package/src/app/schemaSourceRecovery.js +373 -0
  90. package/src/app/scrollPersistence.js +30 -0
  91. package/src/app/semanticOperationHistory.js +18 -0
  92. package/src/app/shareActionCommand.js +55 -0
  93. package/src/app/shareProjection.js +190 -0
  94. package/src/app/shell/AppShell.js +1 -0
  95. package/src/app/shell/Header.js +1 -0
  96. package/src/app/shell/Navigation.js +1 -0
  97. package/src/app/shell/SurfaceSwitcher.js +1 -0
  98. package/src/app/sourceTransportRefresh.js +176 -0
  99. package/src/app/startupOwnership.js +40 -0
  100. package/src/app/startupPresentation.case.mjs +34 -0
  101. package/src/app/startupPresentation.js +33 -0
  102. package/src/app/startupPresentation.views.jsx +21 -0
  103. package/src/app/startupRenderPhase.js +9 -0
  104. package/src/app/startupWorkspaceCommand.js +62 -0
  105. package/src/app/startupWorkspaceConfigApplication.js +49 -0
  106. package/src/app/statePersistenceScheduler.js +106 -0
  107. package/src/app/tiinexAppConfigPlan.js +108 -0
  108. package/src/app/tiinexAppConfigSource.js +349 -0
  109. package/src/app/tiinexAppStartupSource.js +79 -0
  110. package/src/app/tiinexHostedWorkspaceConventions.js +572 -0
  111. package/src/app/timePortalHistoricalRead.js +114 -0
  112. package/src/app/timePortalSnapshotResolution.js +53 -0
  113. package/src/app/urlMaterialCommand.js +24 -0
  114. package/src/app/useCanonicalPlacementSelectionOptions.js +9 -0
  115. package/src/app/useCanonicalReferenceSelectionOptions.js +8 -0
  116. package/src/app/useLocalMaterialIntake.js +68 -0
  117. package/src/app/useTimePortalProductController.jsx +111 -0
  118. package/src/app/useWorkspaceEntrypointIntake.js +77 -0
  119. package/src/app/useWorkspaceSelectionProductController.jsx +21 -0
  120. package/src/app/viewState.js +35 -0
  121. package/src/app/viewport.js +21 -0
  122. package/src/app/visualDormancy.js +286 -0
  123. package/src/app/workspaceContinuityNotices.js +32 -0
  124. package/src/app/workspaceDisplayCounts.js +9 -0
  125. package/src/app/workspaceEntrypointIntakeCommand.js +87 -0
  126. package/src/app/workspaceEntrypointProductRouting.case.mjs +20 -0
  127. package/src/app/workspaceExportCommand.js +21 -0
  128. package/src/app/workspaceExportDownload.js +23 -0
  129. package/src/app/workspaceExportExecutionCommand.js +10 -0
  130. package/src/app/workspaceGithubPublication.js +237 -0
  131. package/src/app/workspaceHandoffExport.js +56 -0
  132. package/src/app/workspaceHomeTarget.js +9 -0
  133. package/src/app/workspaceMulticolumn.js +113 -0
  134. package/src/app/workspaceNavigationParity.case.mjs +110 -0
  135. package/src/app/workspaceOpenProgress.js +26 -0
  136. package/src/app/workspacePlacementOptions.js +46 -0
  137. package/src/app/workspaceRecordActions.js +158 -0
  138. package/src/app/workspaceScopedInteraction.js +68 -0
  139. package/src/app/workspaceSelectionOriginContext.js +29 -0
  140. package/src/app/workspaceSelectionSession.js +54 -0
  141. package/src/app/workspaceSourceCloseCommand.js +25 -0
  142. package/src/app/workspaceSpineProductRouting.case.mjs +22 -0
  143. package/src/app/workspaceStartupTransition.js +32 -0
  144. package/src/app/workspaceWindow.js +85 -0
  145. package/src/artifacts/artifact.fixture.js +1 -0
  146. package/src/artifacts/artifact.identity.js +6 -0
  147. package/src/artifacts/artifact.identityAggregation.js +218 -0
  148. package/src/artifacts/artifact.model.js +2 -0
  149. package/src/artifacts/artifact.parse.case.mjs +196 -0
  150. package/src/artifacts/artifact.participantIndex.js +189 -0
  151. package/src/artifacts/fixtures/evidence.trace.md +50 -0
  152. package/src/artifacts/fixtures/topic.trace.md +33 -0
  153. package/src/artifacts/fixtures/unknown-schema.trace.md +25 -0
  154. package/src/audit/audit.findings.js +1 -0
  155. package/src/audit/audit.model.js +2 -0
  156. package/src/audit/audit.plan.js +13 -0
  157. package/src/audit/audit.report.js +12 -0
  158. package/src/audit/audit.severity.js +1 -0
  159. package/src/audit/audit.traverse.js +119 -0
  160. package/src/audit/integrity/auditIntegrity.checks.js +1 -0
  161. package/src/audit/integrity/auditIntegrity.compare.js +1 -0
  162. package/src/audit/lineage/auditLineage.load.js +1 -0
  163. package/src/audit/lineage/auditLineage.plan.js +1 -0
  164. package/src/audit/lineage/auditLineage.resolve.js +12 -0
  165. package/src/audit/sources/auditSources.boundaries.js +1 -0
  166. package/src/audit/sources/auditSources.checks.js +1 -0
  167. package/src/audit/validation/auditValidation.recheck.js +1 -0
  168. package/src/audit/validation/auditValidation.run.js +1 -0
  169. package/src/build.identity.js +15 -0
  170. package/src/commands/command.vocabulary.js +14 -0
  171. package/src/conformance/conformance.fixtures.js +151 -0
  172. package/src/conformance/conformance.run.js +238 -0
  173. package/src/data/applicationDataStore.js +23 -0
  174. package/src/data/companionAccess.js +35 -0
  175. package/src/diagnostics/events.js +1 -0
  176. package/src/diagnostics/invariant.js +1 -0
  177. package/src/diagnostics/schemaBindingChecks.js +1 -0
  178. package/src/diagnostics/schemaModuleChecks.js +1 -0
  179. package/src/diagnostics/sourceBoundaryChecks.js +5 -0
  180. package/src/diagnostics/sourceTransport.report.js +190 -0
  181. package/src/discovery/discovery.controls.js +7 -0
  182. package/src/export/export.plan.js +182 -0
  183. package/src/export/handoff.plan.js +50 -0
  184. package/src/export/package.builder.case.mjs +97 -0
  185. package/src/export/package.controlTopology.case.mjs +130 -0
  186. package/src/export/package.zip.case.mjs +33 -0
  187. package/src/graph/artifactGraph.model.js +344 -0
  188. package/src/graph/artifactGraph.project.js +139 -0
  189. package/src/graph/artifactGraph.worker.js +10 -0
  190. package/src/i18n/i18n.keys.js +1 -0
  191. package/src/i18n/i18n.provider.js +1 -0
  192. package/src/i18n/i18n.resolve.js +5 -0
  193. package/src/i18n/locales/en/common.json +4 -0
  194. package/src/i18n/locales/en/schemas/evidence.json +3 -0
  195. package/src/i18n/locales/en/schemas/presentation-surface.json +3 -0
  196. package/src/i18n/locales/en/schemas/preservation.json +3 -0
  197. package/src/i18n/locales/en/schemas/root.json +3 -0
  198. package/src/i18n/locales/en/schemas/schema-module.json +3 -0
  199. package/src/i18n/locales/en/schemas/topic.json +3 -0
  200. package/src/i18n/locales/en/surfaces/audit.json +3 -0
  201. package/src/i18n/locales/en/surfaces/create.json +3 -0
  202. package/src/i18n/locales/en/surfaces/detail.json +3 -0
  203. package/src/i18n/locales/en/surfaces/display-options.json +3 -0
  204. package/src/i18n/locales/en/surfaces/edit.json +3 -0
  205. package/src/i18n/locales/en/surfaces/feed.json +3 -0
  206. package/src/i18n/locales/en/surfaces/lineage.json +3 -0
  207. package/src/i18n/locales/en/surfaces/preview.json +3 -0
  208. package/src/i18n/locales/en/surfaces/share.json +3 -0
  209. package/src/i18n/locales/en/surfaces/source-settings.json +3 -0
  210. package/src/i18n/locales/en/surfaces/tree.json +3 -0
  211. package/src/i18n/locales/sv/common.json +4 -0
  212. package/src/i18n/locales/sv/schemas/evidence.json +3 -0
  213. package/src/i18n/locales/sv/schemas/presentation-surface.json +3 -0
  214. package/src/i18n/locales/sv/schemas/preservation.json +3 -0
  215. package/src/i18n/locales/sv/schemas/root.json +3 -0
  216. package/src/i18n/locales/sv/schemas/schema-module.json +3 -0
  217. package/src/i18n/locales/sv/schemas/topic.json +3 -0
  218. package/src/i18n/locales/sv/surfaces/audit.json +3 -0
  219. package/src/i18n/locales/sv/surfaces/create.json +3 -0
  220. package/src/i18n/locales/sv/surfaces/detail.json +3 -0
  221. package/src/i18n/locales/sv/surfaces/display-options.json +3 -0
  222. package/src/i18n/locales/sv/surfaces/edit.json +3 -0
  223. package/src/i18n/locales/sv/surfaces/feed.json +3 -0
  224. package/src/i18n/locales/sv/surfaces/lineage.json +3 -0
  225. package/src/i18n/locales/sv/surfaces/preview.json +3 -0
  226. package/src/i18n/locales/sv/surfaces/share.json +3 -0
  227. package/src/i18n/locales/sv/surfaces/source-settings.json +3 -0
  228. package/src/i18n/locales/sv/surfaces/tree.json +3 -0
  229. package/src/index.js +10 -0
  230. package/src/integrity/integrity.testFixture.js +9 -0
  231. package/src/interaction/interaction.spine.js +12 -0
  232. package/src/lineage/lineage.audit.js +1 -0
  233. package/src/lineage/lineage.edges.js +1 -0
  234. package/src/main.js +319 -0
  235. package/src/main.jsx +34 -0
  236. package/src/multiverse/multiverse.model.js +10 -0
  237. package/src/parity/poc.m1ParityScenarios.js +42 -0
  238. package/src/parity/poc.parityLedger.js +261 -0
  239. package/src/publication/publication.githubSocialContract.case.mjs +247 -0
  240. package/src/publication/publication.preflight.case.mjs +64 -0
  241. package/src/react/TiinexApplication.jsx +39 -0
  242. package/src/react/VerseHost.jsx +29 -0
  243. package/src/react/applicationDataContext.jsx +30 -0
  244. package/src/react.js +2 -0
  245. package/src/readers/modes/audit.reader.js +1 -0
  246. package/src/readers/modes/detail.reader.js +1 -0
  247. package/src/readers/modes/handover.reader.js +1 -0
  248. package/src/readers/modes/mobile.reader.js +1 -0
  249. package/src/readers/modes/print.reader.js +1 -0
  250. package/src/readers/modes/scan.reader.js +1 -0
  251. package/src/readers/reader.model.js +1 -0
  252. package/src/readers/reader.resolve.js +2 -0
  253. package/src/reingest/reingest.plan.case.mjs +65 -0
  254. package/src/runtime.js +54 -0
  255. package/src/schemas/README.md +99 -0
  256. package/src/schemas/coordination/handoff/tiinex.handoff.v1.schema.md +614 -0
  257. package/src/schemas/coordination/project/tiinex.project.v1.schema.md +311 -0
  258. package/src/schemas/core/decision/tiinex.decision.v1.schema.md +227 -0
  259. package/src/schemas/core/evidence/tiinex.evidence.v1.schema.md +318 -0
  260. package/src/schemas/core/feedback/tiinex.feedback.v1.schema.md +243 -0
  261. package/src/schemas/core/interpretation/.transitions/evidence-to-interpretation-transition-definition.trace.md +102 -0
  262. package/src/schemas/core/interpretation/tiinex.interpretation.v1.schema.md +308 -0
  263. package/src/schemas/core/preservation/tiinex.preservation.v1.schema.md +312 -0
  264. package/src/schemas/core/relation/.generation/reference-relation-generation-authority.trace.md +185 -0
  265. package/src/schemas/core/relation/.transitions/topic-references-task-transition-definition.trace.md +119 -0
  266. package/src/schemas/core/relation/tiinex.relation.v1.schema.md +240 -0
  267. package/src/schemas/core/relation/workspace/representation/tiinex.workspace.representation.v1.schema.md +550 -0
  268. package/src/schemas/core/signal/tiinex.signal.v1.schema.md +239 -0
  269. package/src/schemas/core/task/.transitions/create-task-transition-definition.trace.md +93 -0
  270. package/src/schemas/core/task/.transitions/topic-to-task-transition-definition.trace.md +102 -0
  271. package/src/schemas/core/task/task-semantic-package.trace.md +53 -0
  272. package/src/schemas/core/task/tiinex.task.v1-transitions.trace.md +33 -0
  273. package/src/schemas/core/task/tiinex.task.v1.authoring.js +65 -0
  274. package/src/schemas/core/task/tiinex.task.v1.schema.md +229 -0
  275. package/src/schemas/core/topic/.transitions/create-topic-transition-definition.trace.md +93 -0
  276. package/src/schemas/core/topic/tiinex.topic.v1-transitions.trace.md +33 -0
  277. package/src/schemas/core/topic/tiinex.topic.v1.schema.md +197 -0
  278. package/src/schemas/core/topic/topic-semantic-package.trace.md +53 -0
  279. package/src/schemas/discovery/finding/tiinex.discovery.finding.v1.schema.md +240 -0
  280. package/src/schemas/discovery/tiinex.discovery.v1.schema.md +294 -0
  281. package/src/schemas/manifest.json +367 -0
  282. package/src/schemas/origins.js +46 -0
  283. package/src/schemas/party/organization/tiinex.party.organization.v1.schema.md +290 -0
  284. package/src/schemas/party/role/tiinex.party.role.v1.schema.md +298 -0
  285. package/src/schemas/party/tiinex.party.v1.schema.js +14 -0
  286. package/src/schemas/party/tiinex.party.v1.schema.json +23 -0
  287. package/src/schemas/party/tiinex.party.v1.schema.md +311 -0
  288. package/src/schemas/party/tiinex.party.v1.schema.runtime.json +2033 -0
  289. package/src/schemas/party/tiinex.party.v1.schema.source.js +9 -0
  290. package/src/schemas/presentation/surface/tiinex.presentation.surface.v1.schema.md +476 -0
  291. package/src/schemas/reduction/tiinex.reduction.v1.schema.md +248 -0
  292. package/src/schemas/schema/module/tiinex.schema.module.v1.schema.md +465 -0
  293. package/src/schemas/schema.companionContract.case.mjs +259 -0
  294. package/src/schemas/schema.factory.case.mjs +256 -0
  295. package/src/schemas/schema.factory.viewerProjection.js +183 -0
  296. package/src/schemas/schemaMarkdownCatalog.js +19 -0
  297. package/src/schemas/tiinex.root.v1.schema.md +865 -0
  298. package/src/schemas/validation/finding/tiinex.validation.finding.v1.schema.md +309 -0
  299. package/src/schemas/validation/method/tiinex.validation.method.v1.schema.md +280 -0
  300. package/src/schemas/validation/report/tiinex.validation.report.v1.schema.md +300 -0
  301. package/src/schemas/workspace/tiinex.workspace.v1.schema.md +486 -0
  302. package/src/schemas/workspace/workspace.add.views.jsx +327 -0
  303. package/src/schemas/workspace/workspace.audit.views.jsx +160 -0
  304. package/src/schemas/workspace/workspace.auditBadge.views.jsx +98 -0
  305. package/src/schemas/workspace/workspace.canonicalReferenceDialog.views.jsx +63 -0
  306. package/src/schemas/workspace/workspace.canonicalTaskDialog.views.jsx +169 -0
  307. package/src/schemas/workspace/workspace.cardActions.js +9 -0
  308. package/src/schemas/workspace/workspace.cards.views.jsx +146 -0
  309. package/src/schemas/workspace/workspace.chrome.views.jsx +299 -0
  310. package/src/schemas/workspace/workspace.continuationDialog.views.jsx +80 -0
  311. package/src/schemas/workspace/workspace.discovery.views.jsx +63 -0
  312. package/src/schemas/workspace/workspace.discoveryRenderWindow.js +56 -0
  313. package/src/schemas/workspace/workspace.displayOptions.views.jsx +114 -0
  314. package/src/schemas/workspace/workspace.entrypointChoice.views.jsx +30 -0
  315. package/src/schemas/workspace/workspace.exportDialog.controller.jsx +40 -0
  316. package/src/schemas/workspace/workspace.exportDialog.views.jsx +142 -0
  317. package/src/schemas/workspace/workspace.governance.views.jsx +45 -0
  318. package/src/schemas/workspace/workspace.graph.views.jsx +134 -0
  319. package/src/schemas/workspace/workspace.lineage.views.jsx +307 -0
  320. package/src/schemas/workspace/workspace.read.views.jsx +105 -0
  321. package/src/schemas/workspace/workspace.recordActionButton.views.jsx +35 -0
  322. package/src/schemas/workspace/workspace.recordDialogs.views.jsx +257 -0
  323. package/src/schemas/workspace/workspace.selection.views.jsx +14 -0
  324. package/src/schemas/workspace/workspace.sourceReceipt.views.jsx +40 -0
  325. package/src/schemas/workspace/workspace.timePortal.views.jsx +56 -0
  326. package/src/schemas/workspace/workspace.tree.views.jsx +107 -0
  327. package/src/schemas/workspace/workspace.viewFormatting.js +172 -0
  328. package/src/schemas/workspace/workspace.views.jsx +210 -0
  329. package/src/source-settings/sourceSettings.model.js +7 -0
  330. package/src/sources/draft/draft.source.js +1 -0
  331. package/src/sources/github/github.loader.js +204 -0
  332. package/src/sources/github/github.permalink.js +1 -0
  333. package/src/sources/github/github.source.js +1 -0
  334. package/src/sources/github/github.transport.case.mjs +237 -0
  335. package/src/sources/github/github.transport.js +472 -0
  336. package/src/sources/local/local.source.js +1 -0
  337. package/src/sources/source.assetReferences.js +109 -0
  338. package/src/sources/source.boundaries.js +24 -0
  339. package/src/sources/source.identity.js +56 -0
  340. package/src/sources/source.model.case.mjs +26 -0
  341. package/src/sources/source.model.js +56 -0
  342. package/src/sources/source.presenter.js +66 -0
  343. package/src/sources/source.resolve.js +11 -0
  344. package/src/sources/static/static.source.js +1 -0
  345. package/src/sources/transport.policy.case.mjs +39 -0
  346. package/src/sources/transport.policy.js +81 -0
  347. package/src/storage/storage.policy.js +79 -0
  348. package/src/styles/app.css +8699 -0
  349. package/src/styles/responsive.css +10 -0
  350. package/src/styles/theme.css +4 -0
  351. package/src/styles/tokens.css +30 -0
  352. package/src/surfaces/audit/AuditSurface.js +1 -0
  353. package/src/surfaces/audit/audit.model.js +1 -0
  354. package/src/surfaces/audit/audit.render.js +1 -0
  355. package/src/surfaces/contracts.js +45 -0
  356. package/src/surfaces/create/CreateSurface.js +1 -0
  357. package/src/surfaces/create/create.model.js +1 -0
  358. package/src/surfaces/create/create.render.js +1 -0
  359. package/src/surfaces/detail/DetailSurface.js +1 -0
  360. package/src/surfaces/detail/detail.model.js +1 -0
  361. package/src/surfaces/detail/detail.render.js +1 -0
  362. package/src/surfaces/display-options/DisplayOptionsSurface.js +1 -0
  363. package/src/surfaces/display-options/displayOptions.model.js +1 -0
  364. package/src/surfaces/display-options/displayOptions.render.js +1 -0
  365. package/src/surfaces/edit/EditSurface.js +1 -0
  366. package/src/surfaces/edit/edit.model.js +1 -0
  367. package/src/surfaces/edit/edit.render.js +1 -0
  368. package/src/surfaces/feed/FeedSurface.js +1 -0
  369. package/src/surfaces/feed/feed.model.js +1 -0
  370. package/src/surfaces/feed/feed.render.js +1 -0
  371. package/src/surfaces/lineage/LineageSurface.js +1 -0
  372. package/src/surfaces/lineage/lineage.model.js +1 -0
  373. package/src/surfaces/lineage/lineage.render.js +1 -0
  374. package/src/surfaces/preview/PreviewSurface.js +1 -0
  375. package/src/surfaces/preview/preview.model.js +1 -0
  376. package/src/surfaces/preview/preview.render.js +1 -0
  377. package/src/surfaces/registry.js +58 -0
  378. package/src/surfaces/share/ShareSurface.js +1 -0
  379. package/src/surfaces/share/share.model.js +1 -0
  380. package/src/surfaces/share/share.render.js +1 -0
  381. package/src/surfaces/source-settings/SourceSettingsSurface.js +1 -0
  382. package/src/surfaces/source-settings/sourceSettings.model.js +1 -0
  383. package/src/surfaces/source-settings/sourceSettings.render.js +1 -0
  384. package/src/surfaces/surfaceContext.js +1 -0
  385. package/src/surfaces/tree/TreeSurface.js +1 -0
  386. package/src/surfaces/tree/tree.model.js +1 -0
  387. package/src/surfaces/tree/tree.render.js +1 -0
  388. package/src/tooling/portable/adapters/cli/cli.common-output.case.mjs +153 -0
  389. package/src/tooling/portable/adapters/cli/cli.handoff-sibling-allocation.case.mjs +52 -0
  390. package/src/tooling/portable/adapters/cli/cli.run.case.mjs +372 -0
  391. package/src/tooling/portable/adapters/cli/cli.summaryProjection.case.mjs +46 -0
  392. package/src/tooling/portable/audit/audit.capability.case.mjs +45 -0
  393. package/src/tooling/portable/fixtures/legacy-artifacts/collaboration/dogfood/001-tiinex-development-dogfood-collaboration-model.trace.fixture.txt +37 -0
  394. package/src/tooling/portable/fixtures/legacy-artifacts/handoff/tooling/001-v480-tooling-workflow-schema-enablement-handoff.trace.fixture.txt +108 -0
  395. package/src/tooling/portable/fixtures/legacy-artifacts/handoff/tooling/002-v481-tooling-recipient-relative-handoff-material-closure-planner-foundation-handoff.trace.fixture.txt +130 -0
  396. package/src/tooling/portable/fixtures/legacy-artifacts/loom/role/001-loom-role.trace.fixture.txt +61 -0
  397. package/src/tooling/portable/fixtures/legacy-artifacts/sigma/role/001-1-sigma-role.trace.fixture.txt +61 -0
  398. package/src/tooling/portable/fixtures/legacy-artifacts/tooling/dogfood/001-1-1-1-1-1-1-1-site-tooling-v474-loaded-parent-identity-evidence-closure-result.trace.fixture.txt +48 -0
  399. package/src/tooling/portable/fixtures/legacy-artifacts/tooling/dogfood/001-1-1-1-1-1-1-site-tooling-v474-loaded-parent-identity-evidence-closure.trace.fixture.txt +48 -0
  400. package/src/tooling/portable/fixtures/legacy-artifacts/tooling/dogfood/001-1-1-1-1-1-site-tooling-v473-portable-parent-authority-coherence-metadata-fidelity-closure-result.trace.fixture.txt +48 -0
  401. package/src/tooling/portable/fixtures/legacy-artifacts/tooling/dogfood/001-1-1-1-1-site-tooling-v473-portable-parent-authority-coherence-metadata-fidelity-closure.trace.fixture.txt +48 -0
  402. package/src/tooling/portable/fixtures/legacy-artifacts/tooling/dogfood/001-1-1-1-site-tooling-v472-portable-exact-authoring-fidelity-closure-result.trace.fixture.txt +48 -0
  403. package/src/tooling/portable/fixtures/legacy-artifacts/tooling/dogfood/001-1-1-site-tooling-v472-portable-exact-authoring-fidelity-closure.trace.fixture.txt +48 -0
  404. package/src/tooling/portable/fixtures/legacy-artifacts/tooling/dogfood/001-1-site-tooling-v471-portable-lineage-authoring-closure-result.trace.fixture.txt +48 -0
  405. package/src/tooling/portable/fixtures/legacy-artifacts/tooling/dogfood/001-site-tooling-v471-portable-lineage-authoring-closure.trace.fixture.txt +39 -0
  406. package/src/tooling/portable/fixtures/legacy-artifacts/tooling/dogfood/002-1-v475-canonical-artifact-envelope-reference-integrity-validation.trace.fixture.txt +43 -0
  407. package/src/tooling/portable/fixtures/legacy-artifacts/tooling/dogfood/003-1-v476-canonical-authority-binding-integrity-method-lineage-alloca.trace.fixture.txt +42 -0
  408. package/src/tooling/portable/fixtures/legacy-artifacts/tooling/dogfood/027-handoff-package-workspace-archive-and-control-plane-minimality-audit.trace.fixture.txt +56 -0
  409. package/src/tooling/portable/fixtures/legacyArtifactFixtures.mjs +34 -0
  410. package/src/tooling/portable/grounding/grounding.capsule.case.mjs +65 -0
  411. package/src/tooling/portable/grounding/grounding.readiness.case.mjs +543 -0
  412. package/src/tooling/portable/grounding/grounding.semanticIntegration.case.mjs +131 -0
  413. package/src/tooling/portable/handoff/boundedWorkspaceRepresentation.case.mjs +103 -0
  414. package/src/tooling/portable/handoff/carrierLineage.fixedWidth.case.mjs +97 -0
  415. package/src/tooling/portable/handoff/coldStartQualification.case.mjs +293 -0
  416. package/src/tooling/portable/handoff/fixtures/027-invalid-audit-result.fixture.txt +192 -0
  417. package/src/tooling/portable/handoff/fixtures/027-invalid-return-handoff.fixture.txt +92 -0
  418. package/src/tooling/portable/handoff/fixtures/cold-start-qualification.v1.examples.json +60 -0
  419. package/src/tooling/portable/handoff/handoff.manufacture.case.mjs +293 -0
  420. package/src/tooling/portable/handoff/materialClosure.case.mjs +727 -0
  421. package/src/tooling/portable/handoff/multiRootManufacture.case.mjs +615 -0
  422. package/src/tooling/portable/handoff/operatorBridgeCore.case.mjs +205 -0
  423. package/src/tooling/portable/handoff/workspaceLandingPlan.case.mjs +143 -0
  424. package/src/tooling/portable/input/node.input.case.mjs +293 -0
  425. package/src/tooling/portable/lifecycle/lifecycle.readiness.case.mjs +179 -0
  426. package/src/tooling/portable/lineage/fixtures/lineage.integrity.repair-projection.v1.examples.json +605 -0
  427. package/src/tooling/portable/lineage/lineage.integrity.shared-capability.case.mjs +37 -0
  428. package/src/tooling/portable/lineage/publicationProviderReceipt.fixture.mjs +50 -0
  429. package/src/tooling/portable/package/fixtures/reference-relation-generation-authority.trace.md +84 -0
  430. package/src/tooling/portable/package/fixtures/tiinex.root.v1.package-authority.contract-fixture.md +64 -0
  431. package/src/tooling/portable/package/fixtures/tiinex.schema.generation.v1.generation-binding.contract-fixture.md +140 -0
  432. package/src/tooling/portable/package/fixtures/tiinex.schema.transition.companion.v1.contract-fixture.md +73 -0
  433. package/src/tooling/portable/package/fixtures/tiinex.semantic.package.v1.contract-fixture.md +147 -0
  434. package/src/tooling/portable/package/fixtures/tiinex.transition.definition.v1.package-contract-fixture.md +77 -0
  435. package/src/tooling/portable/providers/schema.providers.genericity.case.mjs +31 -0
  436. package/src/tooling/portable/reduction/reduction.preflight.case.mjs +298 -0
  437. package/src/tooling/portable/schema/fixtures/evidence-preservation-body.inheritance-record-fixture.md +65 -0
  438. package/src/tooling/portable/schema/fixtures/tiinex.portal.time.v1.contract-fixture.md +294 -0
  439. package/src/tooling/portable/schema/fixtures/tiinex.root.v1.contract-fixture.md +584 -0
  440. package/src/tooling/portable/schema/fixtures/tiinex.root.v1.machine-shape.contract-fixture.md +44 -0
  441. package/src/tooling/portable/schema/fixtures/tiinex.root.v1.ordinary-target.contract-fixture.md +630 -0
  442. package/src/tooling/portable/schema/fixtures/tiinex.schema.contract.v1.repeated-record.contract-fixture.md +69 -0
  443. package/src/tooling/portable/schema/fixtures/tiinex.schema.generation.v1.repeated-record.contract-fixture.md +98 -0
  444. package/src/tooling/portable/schema/fixtures/tiinex.schema.inheritance.v1.repeated-record.contract-fixture.md +58 -0
  445. package/src/tooling/portable/schema/fixtures/tiinex.task.v1.contract-fixture.md +165 -0
  446. package/src/tooling/portable/schema/fixtures/tiinex.transition.definition.v1.contract-fixture.md +744 -0
  447. package/src/tooling/portable/schema/fixtures/tiinex.transition.definition.v1.field-domain.contract-fixture.md +319 -0
  448. package/src/transitions/canonical-schema-cache/053d46ce082d4ec261b82abc44ecca403d61e240/tiinex.relation.v1.schema.md +240 -0
  449. package/src/transitions/canonical-schema-cache/053d46ce082d4ec261b82abc44ecca403d61e240/tiinex.schema.contract.v1.schema.md +391 -0
  450. package/src/transitions/canonical-schema-cache/053d46ce082d4ec261b82abc44ecca403d61e240/tiinex.schema.generation.v1.schema.md +379 -0
  451. package/src/transitions/canonical-schema-cache/053d46ce082d4ec261b82abc44ecca403d61e240/tiinex.schema.transition.companion.v1.schema.md +265 -0
  452. package/src/transitions/canonical-schema-cache/053d46ce082d4ec261b82abc44ecca403d61e240/tiinex.semantic.package.v1.schema.md +402 -0
  453. package/src/transitions/canonical-schema-cache/52ecdea0a75893882ce282214d155f70e1309c2a/tiinex.topic.v1.schema.md +197 -0
  454. package/src/transitions/canonical-schema-cache/d69b8ff55a56b8cb9282b8684db6a938a4435b94/tiinex.root.v1.schema.md +797 -0
  455. package/src/transitions/canonical-schema-cache/d69b8ff55a56b8cb9282b8684db6a938a4435b94/tiinex.transition.definition.v1.schema.md +1062 -0
  456. package/src/transitions/canonicalTransition.packageContracts.js +22 -0
  457. package/src/transitions/canonicalTransition.productDefaults.js +105 -0
  458. package/src/transitions/canonicalTransition.schemaCache.case.mjs +45 -0
  459. package/src/transitions/canonicalTransition.schemaCache.js +81 -0
  460. package/src/transitions/canonicalTransition.semanticPackage.js +146 -0
  461. package/src/transitions/record.transitions.case.mjs +88 -0
  462. package/src/transitions/transition.authorityRepresentation.js +55 -0
  463. package/src/transitions/transition.availabilityPlanner.js +376 -0
  464. package/src/transitions/transition.availabilitySemantics.js +150 -0
  465. package/src/transitions/transition.definitionReadProjection.js +107 -0
  466. package/src/transitions/transition.definitionRegistry.js +355 -0
  467. package/src/transitions/transition.definitionRegistryAggregation.js +21 -0
  468. package/src/transitions/transition.definitions.js +46 -0
  469. package/src/transitions/transition.explicitGenerationPlanner.js +58 -0
  470. package/src/transitions/transition.generationInputPlanner.js +19 -0
  471. package/src/transitions/transition.interpretationMaterializer.js +2 -0
  472. package/src/transitions/transition.invocationBindingPacket.js +52 -0
  473. package/src/transitions/transition.invocationBindingPlanner.js +467 -0
  474. package/src/transitions/transition.legacyShorthand.js +133 -0
  475. package/src/transitions/transition.localArtifactMaterializers.js +16 -0
  476. package/src/transitions/transition.localCreateCapability.js +111 -0
  477. package/src/transitions/transition.outputMaterializationPlanner.js +336 -0
  478. package/src/transitions/transition.parentReference.js +90 -0
  479. package/src/transitions/transition.presentation.js +43 -0
  480. package/src/transitions/transition.productPreparation.js +377 -0
  481. package/src/transitions/transition.productPresentation.browser.js +28 -0
  482. package/src/transitions/transition.productPresentation.js +55 -0
  483. package/src/transitions/transition.referenceCreateCapability.js +119 -0
  484. package/src/transitions/transition.referenceTarget.js +50 -0
  485. package/src/transitions/transition.relationMaterializer.js +2 -0
  486. package/src/transitions/transition.resultSemantics.js +453 -0
  487. package/src/transitions/transition.taskMaterializer.js +2 -0
  488. package/src/transitions/transition.topicMaterializer.js +2 -0
  489. package/src/transitions/transition.validate.case.mjs +58 -0
  490. package/src/ui/cards/ArtifactCard.js +1 -0
  491. package/src/ui/cards/SchemaCard.js +1 -0
  492. package/src/ui/cards/SourceCard.js +1 -0
  493. package/src/ui/dialog.presenter.js +24 -0
  494. package/src/ui/feedback/DegradedNotice.js +1 -0
  495. package/src/ui/feedback/EmptyState.js +1 -0
  496. package/src/ui/feedback/ValidationNotice.js +1 -0
  497. package/src/ui/forms/FormRenderer.js +1 -0
  498. package/src/ui/forms/fields/MarkdownField.js +1 -0
  499. package/src/ui/forms/fields/SelectField.js +1 -0
  500. package/src/ui/forms/fields/SourcePickerField.js +1 -0
  501. package/src/ui/forms/fields/TextField.js +1 -0
  502. package/src/ui/icon.paths.js +37 -0
  503. package/src/ui/layout/Panel.js +1 -0
  504. package/src/ui/layout/ResponsiveFrame.js +1 -0
  505. package/src/ui/layout/SplitView.js +1 -0
  506. package/src/ui/layout/Stack.js +1 -0
  507. package/src/ui/panels/DetailPanel.js +1 -0
  508. package/src/ui/panels/LineagePanel.js +1 -0
  509. package/src/ui/panels/SourcePanel.js +1 -0
  510. package/src/ui/primitives/Badge.js +1 -0
  511. package/src/ui/primitives/Badge.jsx +5 -0
  512. package/src/ui/primitives/Button.js +1 -0
  513. package/src/ui/primitives/Button.jsx +12 -0
  514. package/src/ui/primitives/Card.js +1 -0
  515. package/src/ui/primitives/Field.js +1 -0
  516. package/src/ui/primitives/Field.jsx +21 -0
  517. package/src/ui/primitives/Icon.jsx +90 -0
  518. package/src/ui/primitives/Modal.jsx +27 -0
  519. package/src/validation/i18n.js +37 -0
  520. package/src/validation/validateArtifact.case.mjs +41 -0
  521. package/src/verses/column/ColumnVerse.js +1 -0
  522. package/src/verses/column/column.model.js +6 -0
  523. package/src/verses/column/column.project.js +7 -0
  524. package/src/verses/context.js +26 -0
  525. package/src/verses/contracts.js +1 -0
  526. package/src/verses/hostRegistry.js +47 -0
  527. package/src/verses/registry.js +22 -0
  528. package/src/verses/universe.model.js +8 -0
  529. package/src/verses/universe.presenter.js +8 -0
  530. package/src/verses/universe.project.js +12 -0
  531. package/src/viewer.js +34 -0
  532. package/src/workspace.model.js +5 -0
  533. package/src/workspaces/workspace.actions.js +1 -0
  534. package/src/workspaces/workspace.artifactActions.js +56 -0
  535. package/src/workspaces/workspace.auditView.js +153 -0
  536. package/src/workspaces/workspace.candidates.js +149 -0
  537. package/src/workspaces/workspace.config.js +153 -0
  538. package/src/workspaces/workspace.configuredSource.js +68 -0
  539. package/src/workspaces/workspace.discoveryProgress.js +34 -0
  540. package/src/workspaces/workspace.discoveryView.js +386 -0
  541. package/src/workspaces/workspace.displayFilters.js +63 -0
  542. package/src/workspaces/workspace.displayOptions.js +58 -0
  543. package/src/workspaces/workspace.emptyStateCopy.js +24 -0
  544. package/src/workspaces/workspace.entrypointLifecycle.js +131 -0
  545. package/src/workspaces/workspace.entrypointViewIntent.js +83 -0
  546. package/src/workspaces/workspace.entrypoints.js +157 -0
  547. package/src/workspaces/workspace.feedSort.js +152 -0
  548. package/src/workspaces/workspace.import.js +212 -0
  549. package/src/workspaces/workspace.importConflicts.js +200 -0
  550. package/src/workspaces/workspace.importLifecycle.case.mjs +103 -0
  551. package/src/workspaces/workspace.lifecycle.case.mjs +353 -0
  552. package/src/workspaces/workspace.lifecycle.js +357 -0
  553. package/src/workspaces/workspace.lineageView.js +244 -0
  554. package/src/workspaces/workspace.localSourceLifecycle.js +91 -0
  555. package/src/workspaces/workspace.materialLedger.js +110 -0
  556. package/src/workspaces/workspace.materialReconciliation.case.mjs +164 -0
  557. package/src/workspaces/workspace.materialReconciliation.js +390 -0
  558. package/src/workspaces/workspace.memberIdentity.js +140 -0
  559. package/src/workspaces/workspace.model.js +2 -0
  560. package/src/workspaces/workspace.navigation.js +20 -0
  561. package/src/workspaces/workspace.openSemantics.js +33 -0
  562. package/src/workspaces/workspace.pathTree.js +132 -0
  563. package/src/workspaces/workspace.persistence.case.mjs +271 -0
  564. package/src/workspaces/workspace.persistence.js +469 -0
  565. package/src/workspaces/workspace.persistenceCache.js +41 -0
  566. package/src/workspaces/workspace.persistenceClear.js +45 -0
  567. package/src/workspaces/workspace.persistencePresentation.js +93 -0
  568. package/src/workspaces/workspace.persistenceRecovery.js +147 -0
  569. package/src/workspaces/workspace.persistenceRouteCache.js +82 -0
  570. package/src/workspaces/workspace.publicationReceipts.case.mjs +36 -0
  571. package/src/workspaces/workspace.publicationReceipts.js +56 -0
  572. package/src/workspaces/workspace.recoverabilityView.js +264 -0
  573. package/src/workspaces/workspace.route.js +432 -0
  574. package/src/workspaces/workspace.runtimeCanonical.js +18 -0
  575. package/src/workspaces/workspace.sourceMaterial.js +71 -0
  576. package/src/workspaces/workspace.sourceRecordPath.js +5 -0
  577. package/src/workspaces/workspace.sourceRecords.js +75 -0
  578. package/src/workspaces/workspace.store.js +3 -0
  579. package/src/workspaces/workspace.summary.js +116 -0
  580. package/src/workspaces/workspace.timePortal.js +137 -0
@@ -0,0 +1,865 @@
1
+ # Continuity Context
2
+
3
+ - Envelope Schema: [tiinex.root.v1](tiinex.root.v1.schema.md)
4
+ - Current
5
+ - Current Schema: [tiinex.root.v1](tiinex.root.v1.schema.md)
6
+ - Created At: 2026-06-14 00:00:00
7
+ - Summary: Root schema for Tiinex lineage artifacts with repair-note support.
8
+ - Repairs
9
+ - Parent recovery locality correction
10
+ - Target: Schema Validation Contract / Parent Origin and Schema Reference Fields
11
+ - Note: Parent recovery no longer requires fabricated relative locality. Local recovery uses truthful relative paths; external or historical recovery uses a qualified version-stable locator when local relative recovery is unavailable. Published schema references use immutable canonical locators when available. Transport closure may augment recovery for an already-truthful Parent edge but does not create missing source Origin authority; bounded export must preserve a usable recovery route or fail closed.
12
+ - Reason: Cross-repository lineage exposed that a universal relative requirement forced duplicate Parent material and weakened bounded transport and exact source recovery.
13
+ - Human-first shared semantic surface clarification
14
+ - Target: Root Semantics
15
+ - Note: Human-readable declared artifact meaning is the primary shared semantic surface; LLM recovery and machine validation/generation must preserve that same non-contradictory declared meaning within their explicit authority surfaces.
16
+ - Reason: Anchor accepted the bounded Axiom finding that this cross-schema invariant was strongly distributed in current authority but not stated once canonically at Root.
17
+
18
+ ---
19
+
20
+ # Root
21
+
22
+ ## Summary
23
+
24
+ Defines the minimum shared contract for Tiinex lineage artifacts.
25
+
26
+ A Tiinex artifact must be identifiable, traversable, and verifiable before any descendant schema adds body-specific meaning.
27
+
28
+ ## Root Semantics
29
+
30
+ Root requires:
31
+
32
+ - schema identity
33
+ - creation time
34
+ - continuity position
35
+ - integrity footer
36
+
37
+ If `Parent` exists, the artifact continues a declared parent artifact.
38
+
39
+ If `Parent` is absent, the artifact is the root of its local lineage.
40
+
41
+ Parent absence does not erase origin or provenance. It only means no parent edge is declared.
42
+
43
+ If `Repairs` exists, the artifact declares known repair, correction, or trust-impacting context that should remain visible to later readers and tools.
44
+
45
+ Human-readable declared artifact meaning is the primary shared semantic surface. LLMs may recover or explain that same declared meaning without inventing missing authority. Machines may validate or generate only the explicit machine contract surfaces. Machine validation may be stricter about acceptance shape, but it must not create a contradictory semantic meaning. LLM or runtime-private state must not silently override or invent artifact semantic authority.
46
+
47
+ ## Contract Reading Model
48
+
49
+ The `Schema Validation Contract` section is the machine-readable validation surface for this schema.
50
+
51
+ Validators should not infer additional required fields, sections, or rules from prose outside the `Schema Validation Contract`.
52
+
53
+ Descendant schema contracts are additive unless they explicitly define an override.
54
+
55
+ ## Inheritance
56
+
57
+ Descendant schemas may add:
58
+
59
+ - sections
60
+ - fields
61
+ - semantics
62
+ - validation requirements
63
+ - derived concepts
64
+ - envelope fields
65
+
66
+ Descendant schemas should not restate inherited requirements unless local readability requires it.
67
+
68
+ ## Extension
69
+
70
+ Any descendant-defined extension should declare:
71
+
72
+ - Name
73
+ - Base Concept
74
+ - Interpretation
75
+
76
+ Envelope extensions should also declare the envelope block they extend.
77
+
78
+ ---
79
+
80
+ ## Schema Validation Contract
81
+
82
+ ### Machine Authority Surfaces
83
+
84
+ Validation Authority
85
+
86
+ - Schema Validation Contract
87
+
88
+ Generation Authority
89
+
90
+ - Artifact Creation Contract
91
+
92
+ Integrity Authority
93
+
94
+ - Continuity Integrity
95
+
96
+ Non-Authoritative For Validation
97
+
98
+ - Summary
99
+ - Root Semantics
100
+ - Contract Reading Model
101
+ - Inheritance
102
+ - Extension
103
+ - Artifact Creation Contract
104
+
105
+ Rules
106
+
107
+ - Validators must read `Schema Validation Contract` as the validation surface.
108
+ - Validators must not infer extra required fields from non-authoritative prose sections.
109
+ - `Artifact Creation Contract` defines generation when present.
110
+ - `Artifact Creation Contract` must not override `Schema Validation Contract`.
111
+ - `Continuity Integrity` defines the integrity footer.
112
+ - Descendant schema contracts are additive unless they explicitly define an override.
113
+
114
+ ### Contract Syntax
115
+
116
+ Group Shape
117
+
118
+ - Third-Level Heading
119
+
120
+ Category Shape
121
+
122
+ - Category Label
123
+ - Hyphen List Items
124
+
125
+ List Marker
126
+
127
+ - hyphen
128
+
129
+ Known Category Labels
130
+
131
+ - Allowed Labels
132
+ - Allowed Shapes
133
+ - Allowed Target Blocks
134
+ - Applies To
135
+ - Category Shape
136
+ - Declaration Fields
137
+ - Entry Shape
138
+ - Field Value Constraints
139
+ - Fields
140
+ - Footer Sections
141
+ - Generation Authority
142
+ - Group Shape
143
+ - Header Sections
144
+ - Integrity Authority
145
+ - Inheritance Overrides
146
+ - Instance Target
147
+ - Known Category Labels
148
+ - List Marker
149
+ - Machine Shape Definitions
150
+ - Non-Authoritative For Validation
151
+ - Optional Fields
152
+ - Optional Sections
153
+ - Ordering
154
+ - Required Entries
155
+ - Required Fields
156
+ - Required Heading
157
+ - Required Shape
158
+ - Required When
159
+ - Rules
160
+ - Severity Levels
161
+ - Towards Allowed Shapes
162
+ - Validation Authority
163
+
164
+ Rules
165
+
166
+ - A contract group begins at a third-level heading.
167
+ - A category label is a plain text line from the known category label set.
168
+ - A category label applies to the first hyphen list after the label.
169
+ - Blank lines between a category label and its list are allowed.
170
+ - Machine contract list items use hyphen bullets.
171
+ - Envelope list items use hyphen bullets.
172
+ - Footer method entries use hyphen bullets.
173
+ - Star bullets are not part of the root machine contract shape.
174
+ - List item order is not significant unless the category label is `Ordering`.
175
+ - `Rules` list items are normative.
176
+ - Only third-level headings, category labels, and hyphen list items are part of the machine contract.
177
+ - Other prose inside `Schema Validation Contract` is not part of the machine contract.
178
+ - Descendant schemas may introduce new category labels only through `Contract Category Extension`.
179
+ - `Artifact Creation Contract`, when present, uses the same contract syntax.
180
+
181
+ ### Validator Response Policy
182
+
183
+ Severity Levels
184
+
185
+ - error
186
+ - warning
187
+ - info
188
+ - preserve
189
+
190
+ Rules
191
+
192
+ - `error` means the artifact does not satisfy the active contract.
193
+ - `warning` means the artifact remains readable but is degraded, ambiguous, or not fully portable.
194
+ - `info` means the validator may surface non-blocking state without changing validity.
195
+ - `preserve` means the validator must retain the signal without claiming to understand or normalize it.
196
+ - Validators must not silently downgrade `error` conditions.
197
+ - Validators must not silently upgrade `preserve` conditions into `warning` or `error` without contract authority.
198
+
199
+ ### Unknown Handling
200
+
201
+ Applies To
202
+
203
+ - contract category labels
204
+ - envelope fields
205
+ - extension declarations
206
+
207
+ Rules
208
+
209
+ - Declared but unsupported contract category labels are `preserve` and may also be `warning`.
210
+ - Undeclared contract category labels are `error` when full schema lineage is available.
211
+ - Undeclared contract category labels are `warning` when full schema lineage is unavailable.
212
+ - Unknown envelope fields are `preserve` by default.
213
+ - Unknown envelope fields may become `warning` or `error` only when full schema lineage proves they are undeclared.
214
+ - Unknown extension declarations must be preserved unless the active schema contract explicitly forbids them.
215
+
216
+ ### Matching And Normalization
217
+
218
+ Applies To
219
+
220
+ - heading text
221
+ - category labels
222
+ - field names
223
+ - line endings
224
+ - blank lines between category labels and lists
225
+ - bullet markers in machine-authoritative surfaces
226
+
227
+ Rules
228
+
229
+ - Heading text is exact after trimming leading and trailing whitespace.
230
+ - Category labels are exact after trimming leading and trailing whitespace.
231
+ - Field names are exact after trimming leading and trailing whitespace.
232
+ - Matching is case-sensitive unless a descendant schema explicitly defines a local exception.
233
+ - Blank lines between a category label and its list are ignored.
234
+ - Line endings may be normalized before parsing.
235
+ - Bullet marker normalization is not allowed in machine-authoritative surfaces.
236
+
237
+ ### Inheritance And Override
238
+
239
+ Rules
240
+
241
+ - Descendant schema contracts are additive by default.
242
+ - Descendant schemas may add groups, categories, declarations, fields, and stricter local rules.
243
+ - Descendant schemas must not weaken root identity, continuity, or integrity requirements.
244
+ - Descendant schemas must not remove inherited requirements unless they explicitly define override semantics.
245
+ - Override semantics must identify which inherited requirement is being replaced and how the replacement is interpreted.
246
+ - Validators must not guess override behavior when a descendant schema does not define it.
247
+ - A descendant extension must not silently redeclare an inherited contract category label as if it were new.
248
+
249
+ ### Inheritance Overrides
250
+
251
+ Entry Shape
252
+
253
+ - Named Declaration
254
+
255
+ Required Fields
256
+
257
+ - Merge Operation
258
+ - Parent Schema
259
+ - Parent Node
260
+ - Child Node
261
+
262
+ Optional Fields
263
+
264
+ - Reason
265
+ - Effective Result
266
+
267
+ Field Value Constraints
268
+
269
+ - Merge Operation
270
+ - Allowed Value: override
271
+ - Domain Policy: closed
272
+
273
+ Rules
274
+
275
+ - `Inheritance Overrides` is the canonical schema-local machine category for explicit inherited contract replacement.
276
+ - The declaration name identifies one override declaration within the declaring child schema.
277
+ - `Merge Operation` must be exactly `override`; unsupported operations are unresolved and must not be guessed.
278
+ - `Parent Schema` must resolve to an actual ancestor of the declaring child schema in the active lineage.
279
+ - `Parent Node` and `Child Node` each use the exact path shape `Schema Validation Contract / <third-level group> / <category label>` and must resolve exactly once.
280
+ - The declaring child schema is the child schema identity; no duplicate `Child Schema` field is part of the inline declaration.
281
+ - A qualified override deactivates only the exact addressed parent contribution and activates the exact addressed child replacement contribution while retaining declaration and contributor provenance.
282
+ - Competing declarations for the same exact parent contribution, malformed declarations, unresolved lineage, missing or ambiguous nodes, or non-ancestor parents are unresolved/error.
283
+ - Source order, filename order, directory adjacency, prose wording, and schema identity must not choose a winner.
284
+ - When both addressed nodes are `Required Shape`, parent ordinary instance-field groups whose Root-authorized exact second-level target heading is required by the parent shape but absent from the child replacement shape become inactive; groups targeting surviving headings remain additive.
285
+ - If Required Shape heading identity or ordinary target ownership cannot be resolved exactly, the override is unresolved rather than guessed.
286
+ - Standalone `tiinex.schema.inheritance.v1` artifacts may document, propose, test, audit, or migrate an inheritance relationship, but they do not silently add or change schema-local compilation authority.
287
+
288
+ ### Contract Cardinality
289
+
290
+ Applies To
291
+
292
+ - contract groups
293
+ - category labels within a contract group
294
+ - named declarations within a contract group
295
+ - required groups
296
+ - optional groups
297
+
298
+ Rules
299
+
300
+ - Contract groups are identified by third-level heading text.
301
+ - Contract group names should be unique within the same machine-readable contract section.
302
+ - Category labels may appear at most once within the same contract group unless a descendant schema explicitly declares repeat semantics.
303
+ - Named declarations must be unique within the same contract group.
304
+ - Duplicate named declarations are invalid unless a descendant schema explicitly defines override semantics.
305
+ - Missing required groups are `error`.
306
+ - Missing optional groups are valid.
307
+ - Duplicate handling must not be silently guessed.
308
+
309
+ ### Ordinary Instance Field Targeting
310
+
311
+ Applies To
312
+
313
+ - descendant `Schema Validation Contract` groups that declare `Required Fields` and/or `Optional Fields`
314
+
315
+ Rules
316
+
317
+ - An ordinary instance-field group declares `Required Fields` and/or `Optional Fields`, does not declare `Entry Shape`, and uses ordinary unqualified field labels.
318
+ - Root-owned envelope/footer groups, qualified envelope/path fields such as `Current -> Why`, named-declaration groups, and `Artifact Creation Contract` groups are outside this default.
319
+ - Unless an ordinary instance-field group declares `Instance Target`, its Artifact instance target is the exact second-level heading whose text equals the contract group name.
320
+ - The same-name correspondence is machine authority defined by Root; validators must not treat it as a heuristic or fall back to document-wide field matching.
321
+ - Heading text follows Root exact, case-sensitive matching rules and heading depth is part of target identity.
322
+ - `Instance Target` overrides only the default instance target for the declaring group.
323
+ - An authorized target must resolve to at most one Artifact heading block. Multiple exact target matches are structural ambiguity and `error`; validators must not choose the first or last match.
324
+ - If the authorized target block is absent, fields elsewhere in the document do not satisfy the group.
325
+ - Target/block requiredness, field requiredness, and field ownership are separate truths.
326
+ - When the authorized target is an optional section and that section is absent, `Required Fields` inside that group do not independently make the optional section required.
327
+ - When an optional authorized target is present, its `Required Fields` are required inside that target.
328
+ - Ordinary field occurrences are owned only by their authorized target block. Fields inside a nested heading or named-declaration-owned region are not claimed by an ancestor ordinary group merely because the label matches.
329
+ - `Required Fields` and `Optional Fields` declare singular ordinary scalar occurrences by default within one instantiated target block.
330
+ - Duplicate ordinary scalar occurrences must remain observable and are `error` unless another explicit contract owns repeated structured entries or explicitly defines repeat semantics.
331
+ - Validators must retain field occurrence multiplicity long enough to validate it; collapsing ordinary occurrences into a Set before validation is not allowed.
332
+ - Inherited and descendant contributions are additive by default, preserve contributing schema/contract provenance, and may share one physical authorized target without requiring duplicate headings.
333
+ - A descendant contribution must not silently retarget or replace an inherited requirement without declared override semantics.
334
+
335
+ ### Instance Target
336
+
337
+ Applies To
338
+
339
+ - ordinary instance-field contract groups that intentionally target a heading other than Root's same-name default
340
+
341
+ Required Shape
342
+
343
+ - one literal Markdown heading token
344
+
345
+ Rules
346
+
347
+ - `Instance Target` contains exactly one literal Markdown heading token including heading depth, for example `## Deferral` or `### Nested Block`.
348
+ - `Instance Target` is singular; it must not be used as a list of multiple Artifact targets.
349
+ - Heading text is interpreted using Root exact, case-sensitive heading matching.
350
+ - `Instance Target` changes field-ownership location only; it does not make an otherwise optional target section required.
351
+ - Multi-block semantics should be expressed as locally owned contract groups rather than by pointing one ordinary group at multiple blocks.
352
+ - Validators must not invent selector syntax, positional identity, AST paths, XPath, JSON pointers, or application-internal IDs when the declared heading authority is sufficient.
353
+
354
+ ### Field Value Constraints
355
+
356
+ Entry Shape
357
+
358
+ - Named Declaration
359
+
360
+ Declaration Fields
361
+
362
+ - Allowed Value
363
+ - Allowed Shape
364
+ - Domain Policy
365
+
366
+ Rules
367
+
368
+ - A `Field Value Constraints` declaration binds value-domain authority to one exact contract field.
369
+ - The declaration name is the exact case-sensitive field label being constrained.
370
+ - When the declaring contract group declares that field under `Required Fields` or `Optional Fields`, the constraint targets that local field only, even when that group has an `Applies To` category for another semantic purpose.
371
+ - When the declaring contract group does not declare that field, the group may share the constraint through `Applies To` only when every `Applies To` entry resolves unambiguously to a contract group that declares the exact field under `Required Fields` or `Optional Fields`; otherwise target authority is unresolved/error and validators must not choose a partial subset or guess a target.
372
+ - This field-domain targeting rule does not reinterpret or broaden Root's generic `Fields` category.
373
+ - `Allowed Value` and `Allowed Shape` may repeat inside one declaration; their order is not semantic.
374
+ - Exactly one `Domain Policy` is required per declaration.
375
+ - `Domain Policy` must be `closed` or `extension-authorized`.
376
+ - Every declaration must contain at least one `Allowed Value` or `Allowed Shape`.
377
+ - `Allowed Value` compares the extracted scalar value exactly and case-sensitively to the declared literal; validators must not normalize aliases, spelling, punctuation, case, separators, or typos.
378
+ - `Allowed Shape` must name a machine-defined shape available under the active contract. This category does not create a new shape registry. An unknown, unavailable, or unresolved shape authority must remain unresolved and validators must not infer a matcher from the shape's English name.
379
+ - A value satisfies one constraint contribution when it matches an `Allowed Value` exactly or satisfies one declared `Allowed Shape`.
380
+ - Shape qualification and reference-target resolution are separate truths. Satisfying a reference shape does not by itself prove that the reference target resolves or is semantically suitable.
381
+ - Under `closed`, a value that satisfies no declared value or shape is invalid for that contribution.
382
+ - Under `extension-authorized`, a value that satisfies no declared value or shape is an unresolved extension candidate, not an accepted core value; separate authority must qualify the extension before a validator or runtime may treat it as an accepted extension.
383
+ - The literal `unknown` is a Tiinex uncertainty sentinel, not an extension-name escape hatch. If `unknown` is not explicitly declared as an `Allowed Value`, it is invalid for that contribution and must not be reclassified as an extension candidate merely because `Domain Policy` is `extension-authorized`.
384
+ - `unknown` has no global validity. It is permitted only when explicitly declared as an `Allowed Value` by every applicable constraint contribution.
385
+ - Absence of `Field Value Constraints` for a field is valid and means no closed value domain or shape is inferred for that field from `Allowed Labels`, prose, field name, list position, neighboring fields, or UI/runtime behavior.
386
+ - Multiple applicable field-value constraint contributions are additive obligations. A concrete value must satisfy every applicable contribution unless separately defined explicit override authority validly replaces an inherited obligation.
387
+ - A descendant may narrow an inherited field domain by adding a stricter compatible contribution.
388
+ - A wider descendant contribution does not widen inherited acceptance. This contract introduces no generic field-value-constraint override selector or widening operator; validators must not guess one. Any future replacement/widening authority must separately identify the inherited obligation being replaced.
389
+ - Contradictory applicable constraints must be reported as a contract conflict and must not be silently unioned, source-ordered, or resolved by child-wins precedence.
390
+ - Compiled field-value authority must retain source schema, contract group, exact target field, whether targeting is local or shared through `Applies To`, declared values and shapes, policy, and inherited contribution provenance.
391
+ - Existing `Allowed Labels` semantics remain unchanged. `Allowed Labels` is group-level vocabulary/readability authority and is not field-domain closure.
392
+
393
+ ### Machine Shape Authority
394
+
395
+ Entry Shape
396
+
397
+ - Named Declaration
398
+
399
+ Declaration Fields
400
+
401
+ - Grammar Profile
402
+ - Start Rule
403
+ - Grammar Rule
404
+ - Human Meaning
405
+
406
+ Machine Shape Definitions
407
+
408
+ - Markdown Link
409
+ - Grammar Profile: tiinex.lexical.shape.v1
410
+ - Start Rule: markdown-link
411
+ - Grammar Rule: markdown-link = "[" label "](" target ")"
412
+ - Grammar Rule: label = ANY-EXCEPT("]", TAB, CR, LF)+
413
+ - Grammar Rule: target = ANY-EXCEPT(")", SPACE, TAB, CR, LF)+
414
+ - Human Meaning: Exactly one complete inline Tiinex Markdown link with a non-empty single-line label and non-empty target. ASCII space is allowed in the label; ASCII space, tab, CR, and LF are forbidden in the target.
415
+
416
+ Rules
417
+
418
+ - `Machine Shape Definitions` declares exact machine-readable lexical shape authorities available to `Allowed Shape` and to any future contract surface that explicitly delegates to this authority.
419
+ - Each first-level entry under `Machine Shape Definitions` is one named machine-shape declaration. The declaration name is the exact case-sensitive shape label.
420
+ - Every machine-shape declaration must contain exactly one `Grammar Profile`, exactly one `Start Rule`, one or more `Grammar Rule` fields, and exactly one `Human Meaning`.
421
+ - `Grammar Rule` may repeat and its ordering is not semantic. Other single-cardinality declaration fields must not repeat.
422
+ - Machine-shape definitions are resolved by lineage prefix at the source point of the shape use: ancestor schema definitions and definitions from the same source schema are visible; definitions introduced only by later descendants are not visible to an ancestor contribution.
423
+ - Source order inside one schema is not semantic. A same-schema definition may qualify a same-schema shape use regardless of whether the declaration text appears before or after the use.
424
+ - A descendant may add a new distinct shape label. That definition is visible to uses in the descendant source and its later descendants, but not to ancestor or sibling-branch uses that do not inherit it.
425
+ - For one exact shape label within the active lineage prefix, zero active definitions means shape authority is unresolved; exactly one valid definition is usable when its grammar profile is supported; more than one active definition is a contract/authority conflict and consumers of that label are unresolved.
426
+ - Duplicate exact-label definitions are not deduplicated even when their text is identical. No source-order, descendant-wins, first-definition, or hidden-registry precedence exists.
427
+ - This contract introduces no generic inherited machine-shape replacement operator. A future replacement authority may be defined only when it can explicitly identify the inherited definition being replaced.
428
+ - Compiled machine-shape authority must preserve the exact shape label, source schema, source contract group, declaration source, lineage/source-point visibility, grammar profile, start rule, grammar rules, human meaning, and qualification-support state.
429
+ - A consumer of machine-shape authority must retain the source schema, contract group, exact field/use, requested shape label, resolved definition provenance, and qualification result `match`, `no-match`, or `unresolved`.
430
+ - `Human Meaning` is explanatory readability authority only. Machine lexical acceptance is owned by `Grammar Profile`, `Start Rule`, and `Grammar Rule`; validators must not infer a matcher from `Human Meaning`.
431
+ - `tiinex.lexical.shape.v1` is the Root-owned generic lexical grammar profile defined by this group. It is interpreter semantics and is not itself resolved through another Machine Shape Definition.
432
+ - Under `tiinex.lexical.shape.v1`, grammar-source meta-whitespace is exactly ASCII SPACE U+0020 and TAB U+0009. It may appear before the first grammar token, between grammar tokens where token boundaries permit, and after the last grammar token, and is ignored as grammar-source separation. It must not split an identifier or alter a quoted literal. CR, LF, and every non-ASCII whitespace character are not grammar-source meta-whitespace. Implementations must not derive grammar-source whitespace from a host-language class such as `\s`.
433
+ - After ignoring permitted grammar-source meta-whitespace, each `Grammar Rule` has the form `identifier = expression`. Rule identifiers are case-sensitive, begin with an ASCII letter, and continue with ASCII letters, ASCII digits, or hyphen. Rule identifiers must be unique inside one shape declaration. `Start Rule` must name exactly one declared `Grammar Rule` identifier.
434
+ - Reserved identifier tokens are exactly `SPACE`, `TAB`, `CR`, `LF`, `DIGIT`, `ASCII-LETTER`, `ANY`, and `ANY-EXCEPT`. Reserved punctuation/operator tokens are exactly `?`, `*`, `+`, `|`, `(`, `)`, `,`, and `=`. A declared Grammar Rule identifier must not use a reserved identifier token.
435
+ - The normative expression productions are `grammar-rule = identifier "=" expression`, `expression = concatenation ("|" concatenation)*`, `concatenation = postfix-expression+`, `postfix-expression = atom ("?" | "*" | "+")?`, and `atom = quoted-literal | builtin | rule-reference | any-except | "(" expression ")"`. These productions, rather than host-language parser precedence, define `tiinex.lexical.shape.v1`.
436
+ - The productions make postfix `?`, `*`, or `+` highest precedence and permit at most one postfix quantifier per postfix-expression; concatenation/adjacency binds next; alternation `|` binds lowest; parentheses explicitly group an expression. Concatenation is evaluated left-to-right. Alternation is a left-to-right list of alternatives whose acceptance is their union, so alternative ordering does not create precedence.
437
+ - Under `tiinex.lexical.shape.v1`, postfix operators define accepted lexical languages rather than regex-engine execution strategy. For an atom or grouped expression `x`, `x?` accepts zero or one consecutive occurrence of a scalar sequence accepted by `x`; `x*` accepts the union of all finite concatenations of zero or more consecutive occurrences accepted by `x`; and `x+` accepts the union of all finite concatenations of one or more consecutive occurrences accepted by `x`.
438
+ - Postfix repetition has no greedy, lazy, capture, or backtracking semantics. An implementation may use any evaluation strategy that preserves the same accepted language.
439
+ - Repetition remains well-defined when `x` can accept the empty scalar. Such repetition is not a grammar error: its meaning remains the finite-concatenation language above, and implementations must avoid nontermination without inventing a different acceptance rule or enumerating infinitely many equivalent empty derivations.
440
+ - Whole-value shape qualification succeeds when at least one finite derivation of the `Start Rule` consumes the complete extracted scalar. No particular derivation is preferred merely because another implementation would call it greedy, lazy, earlier, or later.
441
+ - An expression, each side of `|`, and a parenthesized expression must be non-empty. Therefore an empty expression, an empty left or right alternative, empty parentheses, `"x"??`, `"x"*+`, and every other repeated postfix sequence are grammar errors. Parentheses may be used to group an expression before applying one postfix quantifier to that grouped atom.
442
+ - A non-reserved identifier used as an expression atom is a same-definition `Grammar Rule` reference. It must resolve to exactly one declared rule identifier in the same machine-shape declaration. Undefined rule references are grammar errors under the known profile. Cross-shape rule references do not exist in `tiinex.lexical.shape.v1`.
443
+ - A quoted literal denotes the exact Unicode scalar sequence between double quotes. The only quoted-literal escapes are `\"`, `\\`, `\t`, `\r`, and `\n`; any other escape is grammar error. Grammar-source meta-whitespace inside a quoted literal is literal content, not token separation.
444
+ - Builtins are exact and case-sensitive: `SPACE` is U+0020, `TAB` is U+0009, `CR` is U+000D, `LF` is U+000A, `DIGIT` is ASCII `0` through `9`, `ASCII-LETTER` is ASCII `A` through `Z` or `a` through `z`, and `ANY` matches exactly one Unicode scalar value.
445
+ - `ANY-EXCEPT(...)` matches exactly one Unicode scalar value not matched by its exclusions. It requires one or more exclusion terms separated by the reserved comma token. Permitted ASCII grammar-source meta-whitespace may appear around commas and exclusion terms. Each exclusion term must be a quoted literal containing exactly one Unicode scalar value or one of `SPACE`, `TAB`, `CR`, or `LF`.
446
+ - Supported expression forms are quoted literal, same-definition rule reference, builtin, `ANY-EXCEPT(...)`, parenthesized expression, alternation `|`, adjacency/concatenation, and one optional postfix `?`, `*`, or `+` per postfix-expression. No other operator, builtin, import, capture, backreference, lookaround, implementation-language regex feature, or cross-shape rule reference exists in `tiinex.lexical.shape.v1`.
447
+ - Matching consumes the complete extracted scalar. There is no implicit trimming, substring matching, case folding, Unicode normalization, URL decoding, Markdown escape processing, or target/reference resolution.
448
+ - For a definition using the known `tiinex.lexical.shape.v1` profile, missing required declaration fields, duplicate single-cardinality declaration fields, zero `Grammar Rule` fields, duplicate grammar-rule identifiers, a missing `Start Rule` target, cyclic rule references, an unknown builtin or operator, malformed expression, invalid quoted escape, invalid `ANY-EXCEPT` exclusions, or another grammar violation is a schema contract `error`; a consumer depending on that invalid definition has unresolved machine-shape authority and must fail closed.
449
+ - A structurally valid declaration naming an unknown or unsupported `Grammar Profile` is preserved as declared authority, but qualification support is unavailable and consumers of that definition remain unresolved. Validators must not reinterpret its grammar or infer a matcher from the profile name or `Human Meaning`.
450
+ - Shape syntax qualification is distinct from existence, reference resolution, reachability, schema suitability, semantic suitability, truth, or authorization of any referenced target.
451
+ - When a consuming contract explicitly offers multiple machine-shape alternatives, any resolved matching alternative is a shape match; if no resolved alternative matches and at least one requested shape authority is unresolved, the shape result is `unresolved`; only when every requested shape authority is resolved/evaluable and none matches is the shape result `no-match`.
452
+ - Existing `Allowed Shapes`, `Required Shape`, `Entry Shape`, and `Towards Allowed Shapes` semantics remain unchanged; this category does not reinterpret those historical surfaces as a global registry.
453
+ - The `Markdown Link` definition intentionally defines a bounded Tiinex lexical profile, not all CommonMark links. It accepts exactly one complete `[label](target)` scalar with non-empty label and target, permits ASCII space inside the label, forbids raw `]`, TAB, CR, and LF in the label, and forbids raw `)`, SPACE, TAB, CR, and LF in the target.
454
+
455
+ ### Named Declaration
456
+
457
+ Entry Shape
458
+
459
+ - First-Level Hyphen List Item
460
+
461
+ Declaration Fields
462
+
463
+ - Base Concept
464
+ - Interpretation
465
+
466
+ Rules
467
+
468
+ - Each named declaration is represented as one first-level hyphen list item.
469
+ - The first-level list item text is the declaration name.
470
+ - Declaration fields are represented as nested hyphen list items under the declaration entry.
471
+ - Declaration names must be unique within the same contract group.
472
+ - Duplicate declaration names are invalid unless a descendant schema explicitly defines override semantics.
473
+
474
+ ### Contract Category Extension
475
+
476
+ Required When
477
+
478
+ - A descendant schema introduces a contract category label.
479
+
480
+ Entry Shape
481
+
482
+ - Named Declaration
483
+
484
+ Declaration Fields
485
+
486
+ - Base Concept
487
+ - Interpretation
488
+
489
+ Rules
490
+
491
+ - Each contract category extension uses the `Named Declaration` shape.
492
+ - The declaration name is the new contract category label.
493
+ - A descendant schema must not redeclare an already inherited category label here unless it explicitly defines override semantics.
494
+ - A descendant schema must declare a new category label in `Contract Category Extension` before using it in its own contract.
495
+ - Declared category labels extend the known category label set for that schema and its descendants.
496
+ - Validators that do not understand a declared category label should preserve it and may warn.
497
+ - Strict validators may fail on undeclared category labels when the full schema lineage is available.
498
+
499
+ ### Contract Category Override
500
+
501
+ Required When
502
+
503
+ - A descendant schema replaces the interpretation of an inherited contract category label.
504
+
505
+ Entry Shape
506
+
507
+ - Named Declaration
508
+
509
+ Declaration Fields
510
+
511
+ - Replacement Interpretation
512
+
513
+ Rules
514
+
515
+ - Each contract category override uses the `Named Declaration` shape.
516
+ - The declaration name identifies the inherited contract category label being replaced.
517
+ - `Replacement Interpretation` describes how the descendant schema now interprets that inherited label.
518
+ - A descendant schema must not rely on an override unless it declares it here.
519
+ - Validators must not guess contract category overrides that are not declared here.
520
+
521
+ ### Document Layout
522
+
523
+ Header Sections
524
+
525
+ - Continuity Context
526
+
527
+ Footer Sections
528
+
529
+ - Continuity Integrity
530
+
531
+ Rules
532
+
533
+ - `Continuity Context` must appear before the artifact body.
534
+ - `Continuity Integrity` must appear after the artifact body and machine-readable contract sections.
535
+ - `Continuity Integrity` is a footer section even though it is represented by a markdown heading.
536
+ - `Continuity Integrity` should be the final top-level section of the artifact.
537
+
538
+ ### Continuity Context
539
+
540
+ Required Fields
541
+
542
+ - Envelope Schema
543
+ - Current
544
+
545
+ Optional Fields
546
+
547
+ - Parent
548
+ - Repairs
549
+
550
+ Rules
551
+
552
+ - `Envelope Schema` identifies the envelope-reading schema.
553
+ - `Current` identifies the current artifact.
554
+ - `Parent` identifies the direct continuity parent when one is declared.
555
+ - Parent present means the artifact continues a declared parent.
556
+ - Parent absent means the artifact is the root of its local lineage.
557
+ - Parent absence does not erase origin or provenance.
558
+
559
+ ### Repairs
560
+
561
+ Required When
562
+
563
+ - Repairs exists
564
+
565
+ Entry Shape
566
+
567
+ - First-Level Hyphen List Item
568
+
569
+ Optional Fields
570
+
571
+ - Target
572
+ - Note
573
+ - Reason
574
+
575
+ Rules
576
+
577
+ - `Repairs` records known repairs, corrections, or trust-impacting changes to the artifact.
578
+ - A repair entry should state what was repaired and why.
579
+ - A repair entry may refer to lineage, parent, origin, current metadata, body claims, schema references, integrity, or another readable target.
580
+ - Structured repair entries should expose `Target`, `Note`, and `Reason` as nested fields.
581
+ - Free-text repair entries are allowed and must be preserved, but structured entries are preferred for tooling.
582
+ - `Repairs` must not silently replace `Parent`, `Trace`, `Origin`, `Current`, or `Continuity Integrity` semantics.
583
+ - `Repairs` does not automatically invalidate the artifact or lineage.
584
+ - Validators may warn when a repair entry is too vague to support audit or update tooling.
585
+ - Tools that update descendants because of a repair should preserve the repair note or point to the artifact that contains it.
586
+
587
+ ### Parent
588
+
589
+ Required When
590
+
591
+ - Parent exists
592
+
593
+ Required Fields
594
+
595
+ - Parent Schema
596
+ - Trace
597
+ - Origin
598
+
599
+ Optional Fields
600
+
601
+ - Created At
602
+
603
+ Rules
604
+
605
+ - `Trace` defines the direct continuity relation.
606
+ - `Parent` describes ancestry only.
607
+ - `Parent` must not point to child artifacts.
608
+ - `Parent` must not point to planned descendants.
609
+
610
+ ### Parent Origin
611
+
612
+ Required When
613
+
614
+ - Parent exists
615
+
616
+ Allowed Labels
617
+
618
+ - relative
619
+ - absolute
620
+ - browse + git
621
+
622
+ Entry Shape
623
+
624
+ - Markdown Link
625
+
626
+ Ordering
627
+
628
+ - relative
629
+ - absolute
630
+ - browse + git
631
+
632
+ Rules
633
+
634
+ - `Origin` supports recovery and must remain truthful to the Parent representation actually available or qualified for recovery.
635
+ - `Origin` must not replace `Trace`.
636
+ - Every Parent must expose at least one truthful recovery locator.
637
+ - When the Parent representation is directly recoverable in the same qualified materialization and source scope as the child, `relative` must identify that directly recoverable representation.
638
+ - A local copy or recovery representation must not be manufactured solely to satisfy a `relative` requirement when the Parent is not naturally present in that materialization and source scope.
639
+ - When no truthful directly recoverable `relative` Parent representation is available, `Origin` must include a qualified version-stable recovery locator through a supported adapter.
640
+ - `browse + git` is one version-stable recovery form only when it identifies the exact published Parent representation through an immutable Git revision; a mutable branch or latest-style URL is not equivalent to version-stable recovery.
641
+ - A directly recoverable local or unpublished Parent does not require a `browse + git` entry merely to satisfy continuity.
642
+ - When both a truthful local recovery route and a qualified immutable published route exist, both may be declared; Root does not require publication saturation for ordinary artifacts.
643
+ - `browse + git` must not be invented, guessed, or synthesized when no qualified published Git representation is available.
644
+ - Package or transport closure may provide additional recovery for material omitted by transport scope, but it must not rewrite semantic Parent identity or forge source publication provenance.
645
+ - Package or transport closure is separate from the Parent artifact's own `Origin` contract. It may preserve or augment recovery for an already-truthful Parent edge, but it does not make a Parent valid when the artifact envelope itself exposes no truthful recovery locator for the source or qualified representation it declares.
646
+ - If bounded transport would leave every declared or otherwise qualified Parent recovery route unusable to the recipient, transport tooling must preserve an exact recovery mapping or representation, rely on an already-qualified version-stable route, expand transport scope, or fail closed; it must not silently ship an unrecoverable Parent edge.
647
+ - Every origin candidate should identify the same parent artifact.
648
+ - Origin candidates must not mix alternate parents.
649
+ - `absolute` paths are supplemental local recovery hints. They are not portable authority and do not replace a required truthful `relative` route or a required version-stable external recovery route.
650
+ - Additional origin labels may be introduced by descendant schemas as envelope extensions, including other adapters that can prove version-stable recovery.
651
+
652
+ ### Current
653
+
654
+ Required Fields
655
+
656
+ - Current Schema
657
+ - Created At
658
+
659
+ Optional Fields
660
+
661
+ - Summary
662
+ - Status
663
+ - Why
664
+
665
+ Rules
666
+
667
+ - `Current Schema` identifies the schema governing the current artifact.
668
+ - `Created At` records artifact creation time.
669
+ - `Summary` is a compact fallback description.
670
+ - `Status` records the artifact's current declared state under its active schema semantics.
671
+ - `Status` is optional and root does not define a universal closed status vocabulary.
672
+ - Descendant schemas may constrain `Status` when their domain requires it.
673
+ - `Status` does not by itself prove validity, completeness, publication state, truth, execution success, approval, or readiness.
674
+ - `Why` explains why the artifact exists.
675
+ - `Why` is optional and does not by itself declare governing authority, evidence, validation, transition history, or revision rationale.
676
+
677
+ ### Schema Reference Fields
678
+
679
+ Fields
680
+
681
+ - Envelope Schema
682
+ - Parent Schema
683
+ - Current Schema
684
+
685
+ Allowed Shapes
686
+
687
+ - Markdown Link
688
+ - Plain Schema Id
689
+
690
+ Rules
691
+
692
+ - Schema semantic identity and schema representation location are separate truths.
693
+ - In Markdown Link form, the link label is the semantic schema identifier/key and the link target is a representation locator or traversal route.
694
+ - Tools must preserve the declared schema identifier separately from locator-resolution state and must not derive schema identity from a path, filename, host, repository, branch name, or other locator shape.
695
+ - A locator that resolves successfully does not by itself prove that the resolved bytes are the exact intended schema representation; exact-representation qualification depends on the locator's own stability/identity semantics and any applicable integrity or source authority.
696
+ - Markdown Link is preferred when a truthful useful schema representation locator is available.
697
+ - For a published artifact that references a different already-published canonical schema representation, an immutable canonical locator must be used when one is available.
698
+ - `commit-pinned browse + git` is one current example of an immutable canonical locator; GitHub and commit hashes are not the semantic definition of immutable schema location.
699
+ - A mutable branch/latest locator may be useful for discovery or current-material traversal, but it must not be treated as equivalent to an immutable exact-representation locator.
700
+ - A relative self-link is valid for a schema's self-reference when it continues to resolve to that same representation as the file moves together with itself.
701
+ - Relative or local locators are valid for local/unpublished schema material when they are the truthful available route; authors and tools must not fabricate a published immutable locator that does not yet exist.
702
+ - A relative locator to another schema may remain useful inside one copied workspace or package, but publication tooling must use a stronger immutable canonical locator for a different already-published schema when that stronger route is available.
703
+ - Plain Schema Id is allowed when no useful locator is available or when local context already resolves the schema id.
704
+ - Plain Schema Id preserves schema-identifier truth only; consumers must not infer one exact schema representation from the identifier alone when exact representation material matters.
705
+ - When a Markdown Link target is resolved, a mismatch between the declared link-label schema identifier and the resolved schema representation's declared semantic identity must remain a contradiction/unresolved reference rather than being repaired from filename, path, or locator text.
706
+
707
+ ### Trace Field
708
+
709
+ Allowed Shapes
710
+
711
+ - Markdown Link
712
+ - Relative Path
713
+
714
+ Rules
715
+
716
+ - Markdown Link is preferred when a target is available.
717
+ - Relative Path is allowed when the parent trace is local and directly recoverable.
718
+
719
+ ### Created At
720
+
721
+ Required Shape
722
+
723
+ - YYYY-MM-DD hh:mm:ss
724
+
725
+ Rules
726
+
727
+ - UTC is implied.
728
+ - Time precision is seconds.
729
+ - Timezone suffixes are not part of the root timestamp shape.
730
+ - Local zone names are not part of the root timestamp shape.
731
+ - Numeric offsets are not part of the root timestamp shape.
732
+ - Milliseconds are not part of the root timestamp shape.
733
+
734
+ ### Envelope Extension
735
+
736
+ Required When
737
+
738
+ - A descendant schema adds envelope fields.
739
+
740
+ Entry Shape
741
+
742
+ - Named Declaration
743
+
744
+ Declaration Fields
745
+
746
+ - Target Block
747
+ - Base Concept
748
+ - Interpretation
749
+
750
+ Allowed Target Blocks
751
+
752
+ - Continuity Context
753
+ - Parent
754
+ - Parent Origin
755
+ - Current
756
+ - Continuity Integrity
757
+ - Repairs
758
+
759
+ Rules
760
+
761
+ - Each envelope extension uses the `Named Declaration` shape.
762
+ - The declaration name is the added envelope field name.
763
+ - Declaration fields are represented as nested hyphen list items under the declaration entry.
764
+ - Descendant schemas may add machine-readable envelope fields.
765
+ - Added envelope fields must declare which envelope block they extend.
766
+ - Root validators should preserve unknown envelope fields even when they cannot validate them.
767
+ - Strict validators may warn or fail on undeclared envelope fields when the full schema lineage is available.
768
+
769
+ ### Continuity Integrity Footer
770
+
771
+ Required Heading
772
+
773
+ - Continuity Integrity
774
+
775
+ Required Entries
776
+
777
+ - Method Entry
778
+
779
+ Rules
780
+
781
+ - `Continuity Integrity` is a footer surface.
782
+ - `Continuity Integrity` verifies relation or artifact integrity according to the named method.
783
+ - The footer should be the final top-level section of the artifact.
784
+
785
+ ### Method Entry
786
+
787
+ Entry Shape
788
+
789
+ - First-Level Hyphen List Item
790
+
791
+ Allowed Shapes
792
+
793
+ - Plain Method Identifier
794
+ - Markdown Link Method Label
795
+
796
+ Required Fields
797
+
798
+ - Towards
799
+ - Value
800
+
801
+ Towards Allowed Shapes
802
+
803
+ - Markdown Link
804
+ - self
805
+
806
+ Rules
807
+
808
+ - `Method Entry` is represented by a first-level hyphen list item under `Continuity Integrity`.
809
+ - The `Method Entry` label names the integrity method.
810
+ - The `Method Entry` label may be a plain canonical method identifier or a markdown link to a validation method artifact.
811
+ - A markdown-link method label must use the canonical method identifier as link text.
812
+ - When a maintained validation method artifact has an available commit-pinned `browse + git` permalink, the markdown-link method label must use that permalink as its link target.
813
+ - `Towards` identifies the validated target.
814
+ - `Value` carries the method output.
815
+ - An integrity value identifies or verifies the representation or declared continuity target covered by the named method.
816
+ - For content-derived self methods, changing covered content normally changes the integrity value.
817
+ - An integrity value does not by itself prove immutable logical artifact identity across revisions or materializations.
818
+ - Equal or different integrity values must not by themselves be treated as proof of equal or different logical artifact subjects unless another declared identity contract provides that authority.
819
+ - For hash-based continuity methods, the validated target is hashed without the `# Continuity Integrity` section and everything after it.
820
+ - When `Towards` is not `self`, `Value` must be computed from the validated target identified by `Towards`, not from the current artifact body.
821
+ - `self` is allowed only when the method validates the current artifact itself.
822
+ - When a maintained schema artifact has an available commit-pinned `browse + git` permalink for its validated target, `Towards` should use that permalink instead of a relative local path.
823
+
824
+ ### Extension
825
+
826
+ Required When
827
+
828
+ - A descendant schema introduces an extension.
829
+
830
+ Entry Shape
831
+
832
+ - Named Declaration
833
+
834
+ Declaration Fields
835
+
836
+ - Base Concept
837
+ - Interpretation
838
+
839
+ Rules
840
+
841
+ - Each extension uses the `Named Declaration` shape.
842
+ - The declaration name is the extension name.
843
+ - Declaration fields are represented as nested hyphen list items under the declaration entry.
844
+ - Root defines how extensions are introduced.
845
+ - Root does not define all future extensions.
846
+
847
+ ### Optional Machine Sections
848
+
849
+ Optional Sections
850
+
851
+ - Artifact Creation Contract
852
+
853
+ Rules
854
+
855
+ - `Artifact Creation Contract` is present only when the schema supports direct artifact generation.
856
+ - `Artifact Creation Contract` uses the same contract syntax as `Schema Validation Contract`.
857
+ - Absence of `Artifact Creation Contract` means artifact generation is not declared by this schema.
858
+
859
+ ---
860
+
861
+ # Continuity Integrity
862
+
863
+ - sha256-base64url-c14n-v2
864
+ - Towards: self
865
+ - Value: i4ajpsCBpiv6VAseG7dNjrSxIXGegW0QwA2vabx0E28