@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,797 @@
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
+
9
+ ---
10
+
11
+ # Root
12
+
13
+ ## Summary
14
+
15
+ Defines the minimum shared contract for Tiinex lineage artifacts.
16
+
17
+ A Tiinex artifact must be identifiable, traversable, and verifiable before any descendant schema adds body-specific meaning.
18
+
19
+ ## Root Semantics
20
+
21
+ Root requires:
22
+
23
+ - schema identity
24
+ - creation time
25
+ - continuity position
26
+ - integrity footer
27
+
28
+ If `Parent` exists, the artifact continues a declared parent artifact.
29
+
30
+ If `Parent` is absent, the artifact is the root of its local lineage.
31
+
32
+ Parent absence does not erase origin or provenance. It only means no parent edge is declared.
33
+
34
+ If `Repairs` exists, the artifact declares known repair, correction, or trust-impacting context that should remain visible to later readers and tools.
35
+
36
+ ## Contract Reading Model
37
+
38
+ The `Schema Validation Contract` section is the machine-readable validation surface for this schema.
39
+
40
+ Validators should not infer additional required fields, sections, or rules from prose outside the `Schema Validation Contract`.
41
+
42
+ Descendant schema contracts are additive unless they explicitly define an override.
43
+
44
+ ## Inheritance
45
+
46
+ Descendant schemas may add:
47
+
48
+ - sections
49
+ - fields
50
+ - semantics
51
+ - validation requirements
52
+ - derived concepts
53
+ - envelope fields
54
+
55
+ Descendant schemas should not restate inherited requirements unless local readability requires it.
56
+
57
+ ## Extension
58
+
59
+ Any descendant-defined extension should declare:
60
+
61
+ - Name
62
+ - Base Concept
63
+ - Interpretation
64
+
65
+ Envelope extensions should also declare the envelope block they extend.
66
+
67
+ ---
68
+
69
+ ## Schema Validation Contract
70
+
71
+ ### Machine Authority Surfaces
72
+
73
+ Validation Authority
74
+
75
+ - Schema Validation Contract
76
+
77
+ Generation Authority
78
+
79
+ - Artifact Creation Contract
80
+
81
+ Integrity Authority
82
+
83
+ - Continuity Integrity
84
+
85
+ Non-Authoritative For Validation
86
+
87
+ - Summary
88
+ - Root Semantics
89
+ - Contract Reading Model
90
+ - Inheritance
91
+ - Extension
92
+ - Artifact Creation Contract
93
+
94
+ Rules
95
+
96
+ - Validators must read `Schema Validation Contract` as the validation surface.
97
+ - Validators must not infer extra required fields from non-authoritative prose sections.
98
+ - `Artifact Creation Contract` defines generation when present.
99
+ - `Artifact Creation Contract` must not override `Schema Validation Contract`.
100
+ - `Continuity Integrity` defines the integrity footer.
101
+ - Descendant schema contracts are additive unless they explicitly define an override.
102
+
103
+ ### Contract Syntax
104
+
105
+ Group Shape
106
+
107
+ - Third-Level Heading
108
+
109
+ Category Shape
110
+
111
+ - Category Label
112
+ - Hyphen List Items
113
+
114
+ List Marker
115
+
116
+ - hyphen
117
+
118
+ Known Category Labels
119
+
120
+ - Allowed Labels
121
+ - Allowed Shapes
122
+ - Allowed Target Blocks
123
+ - Applies To
124
+ - Category Shape
125
+ - Declaration Fields
126
+ - Entry Shape
127
+ - Field Value Constraints
128
+ - Fields
129
+ - Footer Sections
130
+ - Generation Authority
131
+ - Group Shape
132
+ - Header Sections
133
+ - Integrity Authority
134
+ - Instance Target
135
+ - Known Category Labels
136
+ - List Marker
137
+ - Machine Shape Definitions
138
+ - Non-Authoritative For Validation
139
+ - Optional Fields
140
+ - Optional Sections
141
+ - Ordering
142
+ - Required Entries
143
+ - Required Fields
144
+ - Required Heading
145
+ - Required Shape
146
+ - Required When
147
+ - Rules
148
+ - Severity Levels
149
+ - Towards Allowed Shapes
150
+ - Validation Authority
151
+
152
+ Rules
153
+
154
+ - A contract group begins at a third-level heading.
155
+ - A category label is a plain text line from the known category label set.
156
+ - A category label applies to the first hyphen list after the label.
157
+ - Blank lines between a category label and its list are allowed.
158
+ - Machine contract list items use hyphen bullets.
159
+ - Envelope list items use hyphen bullets.
160
+ - Footer method entries use hyphen bullets.
161
+ - Star bullets are not part of the root machine contract shape.
162
+ - List item order is not significant unless the category label is `Ordering`.
163
+ - `Rules` list items are normative.
164
+ - Only third-level headings, category labels, and hyphen list items are part of the machine contract.
165
+ - Other prose inside `Schema Validation Contract` is not part of the machine contract.
166
+ - Descendant schemas may introduce new category labels only through `Contract Category Extension`.
167
+ - `Artifact Creation Contract`, when present, uses the same contract syntax.
168
+
169
+ ### Validator Response Policy
170
+
171
+ Severity Levels
172
+
173
+ - error
174
+ - warning
175
+ - info
176
+ - preserve
177
+
178
+ Rules
179
+
180
+ - `error` means the artifact does not satisfy the active contract.
181
+ - `warning` means the artifact remains readable but is degraded, ambiguous, or not fully portable.
182
+ - `info` means the validator may surface non-blocking state without changing validity.
183
+ - `preserve` means the validator must retain the signal without claiming to understand or normalize it.
184
+ - Validators must not silently downgrade `error` conditions.
185
+ - Validators must not silently upgrade `preserve` conditions into `warning` or `error` without contract authority.
186
+
187
+ ### Unknown Handling
188
+
189
+ Applies To
190
+
191
+ - contract category labels
192
+ - envelope fields
193
+ - extension declarations
194
+
195
+ Rules
196
+
197
+ - Declared but unsupported contract category labels are `preserve` and may also be `warning`.
198
+ - Undeclared contract category labels are `error` when full schema lineage is available.
199
+ - Undeclared contract category labels are `warning` when full schema lineage is unavailable.
200
+ - Unknown envelope fields are `preserve` by default.
201
+ - Unknown envelope fields may become `warning` or `error` only when full schema lineage proves they are undeclared.
202
+ - Unknown extension declarations must be preserved unless the active schema contract explicitly forbids them.
203
+
204
+ ### Matching And Normalization
205
+
206
+ Applies To
207
+
208
+ - heading text
209
+ - category labels
210
+ - field names
211
+ - line endings
212
+ - blank lines between category labels and lists
213
+ - bullet markers in machine-authoritative surfaces
214
+
215
+ Rules
216
+
217
+ - Heading text is exact after trimming leading and trailing whitespace.
218
+ - Category labels are exact after trimming leading and trailing whitespace.
219
+ - Field names are exact after trimming leading and trailing whitespace.
220
+ - Matching is case-sensitive unless a descendant schema explicitly defines a local exception.
221
+ - Blank lines between a category label and its list are ignored.
222
+ - Line endings may be normalized before parsing.
223
+ - Bullet marker normalization is not allowed in machine-authoritative surfaces.
224
+
225
+ ### Inheritance And Override
226
+
227
+ Rules
228
+
229
+ - Descendant schema contracts are additive by default.
230
+ - Descendant schemas may add groups, categories, declarations, fields, and stricter local rules.
231
+ - Descendant schemas must not weaken root identity, continuity, or integrity requirements.
232
+ - Descendant schemas must not remove inherited requirements unless they explicitly define override semantics.
233
+ - Override semantics must identify which inherited requirement is being replaced and how the replacement is interpreted.
234
+ - Validators must not guess override behavior when a descendant schema does not define it.
235
+ - A descendant extension must not silently redeclare an inherited contract category label as if it were new.
236
+
237
+ ### Contract Cardinality
238
+
239
+ Applies To
240
+
241
+ - contract groups
242
+ - category labels within a contract group
243
+ - named declarations within a contract group
244
+ - required groups
245
+ - optional groups
246
+
247
+ Rules
248
+
249
+ - Contract groups are identified by third-level heading text.
250
+ - Contract group names should be unique within the same machine-readable contract section.
251
+ - Category labels may appear at most once within the same contract group unless a descendant schema explicitly declares repeat semantics.
252
+ - Named declarations must be unique within the same contract group.
253
+ - Duplicate named declarations are invalid unless a descendant schema explicitly defines override semantics.
254
+ - Missing required groups are `error`.
255
+ - Missing optional groups are valid.
256
+ - Duplicate handling must not be silently guessed.
257
+
258
+ ### Ordinary Instance Field Targeting
259
+
260
+ Applies To
261
+
262
+ - descendant `Schema Validation Contract` groups that declare `Required Fields` and/or `Optional Fields`
263
+
264
+ Rules
265
+
266
+ - An ordinary instance-field group declares `Required Fields` and/or `Optional Fields`, does not declare `Entry Shape`, and uses ordinary unqualified field labels.
267
+ - 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.
268
+ - 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.
269
+ - 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.
270
+ - Heading text follows Root exact, case-sensitive matching rules and heading depth is part of target identity.
271
+ - `Instance Target` overrides only the default instance target for the declaring group.
272
+ - 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.
273
+ - If the authorized target block is absent, fields elsewhere in the document do not satisfy the group.
274
+ - Target/block requiredness, field requiredness, and field ownership are separate truths.
275
+ - 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.
276
+ - When an optional authorized target is present, its `Required Fields` are required inside that target.
277
+ - 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.
278
+ - `Required Fields` and `Optional Fields` declare singular ordinary scalar occurrences by default within one instantiated target block.
279
+ - Duplicate ordinary scalar occurrences must remain observable and are `error` unless another explicit contract owns repeated structured entries or explicitly defines repeat semantics.
280
+ - Validators must retain field occurrence multiplicity long enough to validate it; collapsing ordinary occurrences into a Set before validation is not allowed.
281
+ - Inherited and descendant contributions are additive by default, preserve contributing schema/contract provenance, and may share one physical authorized target without requiring duplicate headings.
282
+ - A descendant contribution must not silently retarget or replace an inherited requirement without declared override semantics.
283
+
284
+ ### Instance Target
285
+
286
+ Applies To
287
+
288
+ - ordinary instance-field contract groups that intentionally target a heading other than Root's same-name default
289
+
290
+ Required Shape
291
+
292
+ - one literal Markdown heading token
293
+
294
+ Rules
295
+
296
+ - `Instance Target` contains exactly one literal Markdown heading token including heading depth, for example `## Deferral` or `### Nested Block`.
297
+ - `Instance Target` is singular; it must not be used as a list of multiple Artifact targets.
298
+ - Heading text is interpreted using Root exact, case-sensitive heading matching.
299
+ - `Instance Target` changes field-ownership location only; it does not make an otherwise optional target section required.
300
+ - Multi-block semantics should be expressed as locally owned contract groups rather than by pointing one ordinary group at multiple blocks.
301
+ - Validators must not invent selector syntax, positional identity, AST paths, XPath, JSON pointers, or application-internal IDs when the declared heading authority is sufficient.
302
+
303
+ ### Field Value Constraints
304
+
305
+ Entry Shape
306
+
307
+ - Named Declaration
308
+
309
+ Declaration Fields
310
+
311
+ - Allowed Value
312
+ - Allowed Shape
313
+ - Domain Policy
314
+
315
+ Rules
316
+
317
+ - A `Field Value Constraints` declaration binds value-domain authority to one exact contract field.
318
+ - The declaration name is the exact case-sensitive field label being constrained.
319
+ - 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.
320
+ - 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.
321
+ - This field-domain targeting rule does not reinterpret or broaden Root's generic `Fields` category.
322
+ - `Allowed Value` and `Allowed Shape` may repeat inside one declaration; their order is not semantic.
323
+ - Exactly one `Domain Policy` is required per declaration.
324
+ - `Domain Policy` must be `closed` or `extension-authorized`.
325
+ - Every declaration must contain at least one `Allowed Value` or `Allowed Shape`.
326
+ - `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.
327
+ - `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.
328
+ - A value satisfies one constraint contribution when it matches an `Allowed Value` exactly or satisfies one declared `Allowed Shape`.
329
+ - 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.
330
+ - Under `closed`, a value that satisfies no declared value or shape is invalid for that contribution.
331
+ - 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.
332
+ - 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`.
333
+ - `unknown` has no global validity. It is permitted only when explicitly declared as an `Allowed Value` by every applicable constraint contribution.
334
+ - 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.
335
+ - 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.
336
+ - A descendant may narrow an inherited field domain by adding a stricter compatible contribution.
337
+ - 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.
338
+ - Contradictory applicable constraints must be reported as a contract conflict and must not be silently unioned, source-ordered, or resolved by child-wins precedence.
339
+ - 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.
340
+ - Existing `Allowed Labels` semantics remain unchanged. `Allowed Labels` is group-level vocabulary/readability authority and is not field-domain closure.
341
+
342
+ ### Machine Shape Authority
343
+
344
+ Entry Shape
345
+
346
+ - Named Declaration
347
+
348
+ Declaration Fields
349
+
350
+ - Grammar Profile
351
+ - Start Rule
352
+ - Grammar Rule
353
+ - Human Meaning
354
+
355
+ Machine Shape Definitions
356
+
357
+ - Markdown Link
358
+ - Grammar Profile: tiinex.lexical.shape.v1
359
+ - Start Rule: markdown-link
360
+ - Grammar Rule: markdown-link = "[" label "](" target ")"
361
+ - Grammar Rule: label = ANY-EXCEPT("]", TAB, CR, LF)+
362
+ - Grammar Rule: target = ANY-EXCEPT(")", SPACE, TAB, CR, LF)+
363
+ - 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.
364
+
365
+ Rules
366
+
367
+ - `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.
368
+ - Each first-level entry under `Machine Shape Definitions` is one named machine-shape declaration. The declaration name is the exact case-sensitive shape label.
369
+ - 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`.
370
+ - `Grammar Rule` may repeat and its ordering is not semantic. Other single-cardinality declaration fields must not repeat.
371
+ - 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.
372
+ - 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.
373
+ - 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.
374
+ - 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.
375
+ - 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.
376
+ - 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.
377
+ - 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.
378
+ - 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`.
379
+ - `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`.
380
+ - `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.
381
+ - 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`.
382
+ - 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.
383
+ - 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.
384
+ - 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`.
385
+ - 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.
386
+ - 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`.
387
+ - Postfix repetition has no greedy, lazy, capture, or backtracking semantics. An implementation may use any evaluation strategy that preserves the same accepted language.
388
+ - 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.
389
+ - 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.
390
+ - 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.
391
+ - 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`.
392
+ - 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.
393
+ - 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.
394
+ - `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`.
395
+ - 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`.
396
+ - 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.
397
+ - 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.
398
+ - 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`.
399
+ - Shape syntax qualification is distinct from existence, reference resolution, reachability, schema suitability, semantic suitability, truth, or authorization of any referenced target.
400
+ - 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`.
401
+ - 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.
402
+ - 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.
403
+
404
+ ### Named Declaration
405
+
406
+ Entry Shape
407
+
408
+ - First-Level Hyphen List Item
409
+
410
+ Declaration Fields
411
+
412
+ - Base Concept
413
+ - Interpretation
414
+
415
+ Rules
416
+
417
+ - Each named declaration is represented as one first-level hyphen list item.
418
+ - The first-level list item text is the declaration name.
419
+ - Declaration fields are represented as nested hyphen list items under the declaration entry.
420
+ - Declaration names must be unique within the same contract group.
421
+ - Duplicate declaration names are invalid unless a descendant schema explicitly defines override semantics.
422
+
423
+ ### Contract Category Extension
424
+
425
+ Required When
426
+
427
+ - A descendant schema introduces a contract category label.
428
+
429
+ Entry Shape
430
+
431
+ - Named Declaration
432
+
433
+ Declaration Fields
434
+
435
+ - Base Concept
436
+ - Interpretation
437
+
438
+ Rules
439
+
440
+ - Each contract category extension uses the `Named Declaration` shape.
441
+ - The declaration name is the new contract category label.
442
+ - A descendant schema must not redeclare an already inherited category label here unless it explicitly defines override semantics.
443
+ - A descendant schema must declare a new category label in `Contract Category Extension` before using it in its own contract.
444
+ - Declared category labels extend the known category label set for that schema and its descendants.
445
+ - Validators that do not understand a declared category label should preserve it and may warn.
446
+ - Strict validators may fail on undeclared category labels when the full schema lineage is available.
447
+
448
+ ### Contract Category Override
449
+
450
+ Required When
451
+
452
+ - A descendant schema replaces the interpretation of an inherited contract category label.
453
+
454
+ Entry Shape
455
+
456
+ - Named Declaration
457
+
458
+ Declaration Fields
459
+
460
+ - Replacement Interpretation
461
+
462
+ Rules
463
+
464
+ - Each contract category override uses the `Named Declaration` shape.
465
+ - The declaration name identifies the inherited contract category label being replaced.
466
+ - `Replacement Interpretation` describes how the descendant schema now interprets that inherited label.
467
+ - A descendant schema must not rely on an override unless it declares it here.
468
+ - Validators must not guess contract category overrides that are not declared here.
469
+
470
+ ### Document Layout
471
+
472
+ Header Sections
473
+
474
+ - Continuity Context
475
+
476
+ Footer Sections
477
+
478
+ - Continuity Integrity
479
+
480
+ Rules
481
+
482
+ - `Continuity Context` must appear before the artifact body.
483
+ - `Continuity Integrity` must appear after the artifact body and machine-readable contract sections.
484
+ - `Continuity Integrity` is a footer section even though it is represented by a markdown heading.
485
+ - `Continuity Integrity` should be the final top-level section of the artifact.
486
+
487
+ ### Continuity Context
488
+
489
+ Required Fields
490
+
491
+ - Envelope Schema
492
+ - Current
493
+
494
+ Optional Fields
495
+
496
+ - Parent
497
+ - Repairs
498
+
499
+ Rules
500
+
501
+ - `Envelope Schema` identifies the envelope-reading schema.
502
+ - `Current` identifies the current artifact.
503
+ - `Parent` identifies the direct continuity parent when one is declared.
504
+ - Parent present means the artifact continues a declared parent.
505
+ - Parent absent means the artifact is the root of its local lineage.
506
+ - Parent absence does not erase origin or provenance.
507
+
508
+ ### Repairs
509
+
510
+ Required When
511
+
512
+ - Repairs exists
513
+
514
+ Entry Shape
515
+
516
+ - First-Level Hyphen List Item
517
+
518
+ Optional Fields
519
+
520
+ - Target
521
+ - Note
522
+ - Reason
523
+
524
+ Rules
525
+
526
+ - `Repairs` records known repairs, corrections, or trust-impacting changes to the artifact.
527
+ - A repair entry should state what was repaired and why.
528
+ - A repair entry may refer to lineage, parent, origin, current metadata, body claims, schema references, integrity, or another readable target.
529
+ - Structured repair entries should expose `Target`, `Note`, and `Reason` as nested fields.
530
+ - Free-text repair entries are allowed and must be preserved, but structured entries are preferred for tooling.
531
+ - `Repairs` must not silently replace `Parent`, `Trace`, `Origin`, `Current`, or `Continuity Integrity` semantics.
532
+ - `Repairs` does not automatically invalidate the artifact or lineage.
533
+ - Validators may warn when a repair entry is too vague to support audit or update tooling.
534
+ - Tools that update descendants because of a repair should preserve the repair note or point to the artifact that contains it.
535
+
536
+ ### Parent
537
+
538
+ Required When
539
+
540
+ - Parent exists
541
+
542
+ Required Fields
543
+
544
+ - Parent Schema
545
+ - Trace
546
+ - Origin
547
+
548
+ Optional Fields
549
+
550
+ - Created At
551
+
552
+ Rules
553
+
554
+ - `Trace` defines the direct continuity relation.
555
+ - `Parent` describes ancestry only.
556
+ - `Parent` must not point to child artifacts.
557
+ - `Parent` must not point to planned descendants.
558
+
559
+ ### Parent Origin
560
+
561
+ Required When
562
+
563
+ - Parent exists
564
+
565
+ Required Fields
566
+
567
+ - browse + git
568
+
569
+ Allowed Labels
570
+
571
+ - relative
572
+ - absolute
573
+ - browse + git
574
+
575
+ Entry Shape
576
+
577
+ - Markdown Link
578
+
579
+ Ordering
580
+
581
+ - relative
582
+ - absolute
583
+ - browse + git
584
+
585
+ Rules
586
+
587
+ - `Origin` supports recovery.
588
+ - `Origin` must not replace `Trace`.
589
+ - Every origin candidate should identify the same parent artifact.
590
+ - Origin candidates must not mix alternate parents.
591
+ - `browse + git` gives the portable archive permalink for the parent artifact.
592
+ - `browse + git` should be commit-pinned when available.
593
+ - `absolute` paths are local recovery hints, not portable authority.
594
+ - Additional origin labels may be introduced by descendant schemas as envelope extensions.
595
+
596
+ ### Current
597
+
598
+ Required Fields
599
+
600
+ - Current Schema
601
+ - Created At
602
+
603
+ Optional Fields
604
+
605
+ - Summary
606
+ - Status
607
+ - Why
608
+
609
+ Rules
610
+
611
+ - `Current Schema` identifies the schema governing the current artifact.
612
+ - `Created At` records artifact creation time.
613
+ - `Summary` is a compact fallback description.
614
+ - `Status` records the artifact's current declared state under its active schema semantics.
615
+ - `Status` is optional and root does not define a universal closed status vocabulary.
616
+ - Descendant schemas may constrain `Status` when their domain requires it.
617
+ - `Status` does not by itself prove validity, completeness, publication state, truth, execution success, approval, or readiness.
618
+ - `Why` explains why the artifact exists.
619
+ - `Why` is optional and does not by itself declare governing authority, evidence, validation, transition history, or revision rationale.
620
+
621
+ ### Schema Reference Fields
622
+
623
+ Fields
624
+
625
+ - Envelope Schema
626
+ - Parent Schema
627
+ - Current Schema
628
+
629
+ Allowed Shapes
630
+
631
+ - Markdown Link
632
+ - Plain Schema Id
633
+
634
+ Rules
635
+
636
+ - Markdown Link is preferred when a schema artifact target is available.
637
+ - Plain Schema Id is allowed when no useful target is available or when local context already resolves the schema id.
638
+
639
+ ### Trace Field
640
+
641
+ Allowed Shapes
642
+
643
+ - Markdown Link
644
+ - Relative Path
645
+
646
+ Rules
647
+
648
+ - Markdown Link is preferred when a target is available.
649
+ - Relative Path is allowed when the parent trace is local and directly recoverable.
650
+
651
+ ### Created At
652
+
653
+ Required Shape
654
+
655
+ - YYYY-MM-DD hh:mm:ss
656
+
657
+ Rules
658
+
659
+ - UTC is implied.
660
+ - Time precision is seconds.
661
+ - Timezone suffixes are not part of the root timestamp shape.
662
+ - Local zone names are not part of the root timestamp shape.
663
+ - Numeric offsets are not part of the root timestamp shape.
664
+ - Milliseconds are not part of the root timestamp shape.
665
+
666
+ ### Envelope Extension
667
+
668
+ Required When
669
+
670
+ - A descendant schema adds envelope fields.
671
+
672
+ Entry Shape
673
+
674
+ - Named Declaration
675
+
676
+ Declaration Fields
677
+
678
+ - Target Block
679
+ - Base Concept
680
+ - Interpretation
681
+
682
+ Allowed Target Blocks
683
+
684
+ - Continuity Context
685
+ - Parent
686
+ - Parent Origin
687
+ - Current
688
+ - Continuity Integrity
689
+ - Repairs
690
+
691
+ Rules
692
+
693
+ - Each envelope extension uses the `Named Declaration` shape.
694
+ - The declaration name is the added envelope field name.
695
+ - Declaration fields are represented as nested hyphen list items under the declaration entry.
696
+ - Descendant schemas may add machine-readable envelope fields.
697
+ - Added envelope fields must declare which envelope block they extend.
698
+ - Root validators should preserve unknown envelope fields even when they cannot validate them.
699
+ - Strict validators may warn or fail on undeclared envelope fields when the full schema lineage is available.
700
+
701
+ ### Continuity Integrity Footer
702
+
703
+ Required Heading
704
+
705
+ - Continuity Integrity
706
+
707
+ Required Entries
708
+
709
+ - Method Entry
710
+
711
+ Rules
712
+
713
+ - `Continuity Integrity` is a footer surface.
714
+ - `Continuity Integrity` verifies relation or artifact integrity according to the named method.
715
+ - The footer should be the final top-level section of the artifact.
716
+
717
+ ### Method Entry
718
+
719
+ Entry Shape
720
+
721
+ - First-Level Hyphen List Item
722
+
723
+ Allowed Shapes
724
+
725
+ - Plain Method Identifier
726
+ - Markdown Link Method Label
727
+
728
+ Required Fields
729
+
730
+ - Towards
731
+ - Value
732
+
733
+ Towards Allowed Shapes
734
+
735
+ - Markdown Link
736
+ - self
737
+
738
+ Rules
739
+
740
+ - `Method Entry` is represented by a first-level hyphen list item under `Continuity Integrity`.
741
+ - The `Method Entry` label names the integrity method.
742
+ - The `Method Entry` label may be a plain canonical method identifier or a markdown link to a validation method artifact.
743
+ - A markdown-link method label must use the canonical method identifier as link text.
744
+ - 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.
745
+ - `Towards` identifies the validated target.
746
+ - `Value` carries the method output.
747
+ - An integrity value identifies or verifies the representation or declared continuity target covered by the named method.
748
+ - For content-derived self methods, changing covered content normally changes the integrity value.
749
+ - An integrity value does not by itself prove immutable logical artifact identity across revisions or materializations.
750
+ - 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.
751
+ - For hash-based continuity methods, the validated target is hashed without the `# Continuity Integrity` section and everything after it.
752
+ - When `Towards` is not `self`, `Value` must be computed from the validated target identified by `Towards`, not from the current artifact body.
753
+ - `self` is allowed only when the method validates the current artifact itself.
754
+ - 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.
755
+
756
+ ### Extension
757
+
758
+ Required When
759
+
760
+ - A descendant schema introduces an extension.
761
+
762
+ Entry Shape
763
+
764
+ - Named Declaration
765
+
766
+ Declaration Fields
767
+
768
+ - Base Concept
769
+ - Interpretation
770
+
771
+ Rules
772
+
773
+ - Each extension uses the `Named Declaration` shape.
774
+ - The declaration name is the extension name.
775
+ - Declaration fields are represented as nested hyphen list items under the declaration entry.
776
+ - Root defines how extensions are introduced.
777
+ - Root does not define all future extensions.
778
+
779
+ ### Optional Machine Sections
780
+
781
+ Optional Sections
782
+
783
+ - Artifact Creation Contract
784
+
785
+ Rules
786
+
787
+ - `Artifact Creation Contract` is present only when the schema supports direct artifact generation.
788
+ - `Artifact Creation Contract` uses the same contract syntax as `Schema Validation Contract`.
789
+ - Absence of `Artifact Creation Contract` means artifact generation is not declared by this schema.
790
+
791
+ ---
792
+
793
+ # Continuity Integrity
794
+
795
+ - sha256-base64url-c14n-v2
796
+ - Towards: self
797
+ - Value: AQCVlV_IKLfvbUmvyqMZ89l2NUPrXfi7a6hGkK2mqAI