@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,1062 @@
1
+ # Continuity Context
2
+
3
+ - Envelope Schema: [tiinex.root.v1](../../tiinex.root.v1.schema.md)
4
+ - Parent
5
+ - Parent Schema: [tiinex.root.v1](../../tiinex.root.v1.schema.md)
6
+ - Created At: 2026-06-14 00:00:00
7
+ - Trace: [tiinex.root.v1.schema.md](../../tiinex.root.v1.schema.md)
8
+ - Origin:
9
+ - [relative](../../tiinex.root.v1.schema.md)
10
+ - [browse + git](https://github.com/Tiinex/docs/blob/0709fe80947de6b5b503f7d5202feb0e7fe94430/.topics/.schemas/tiinex.root.v1.schema.md)
11
+ - Current
12
+ - Current Schema: [tiinex.transition.definition.v1](tiinex.transition.definition.v1.schema.md)
13
+ - Created At: 2026-08-15 00:00:00
14
+ - Status: Draft schema proposal
15
+ - Why: Defines reusable semantic transformations without making one invocation, UI action, runtime mechanism, or receipt the transition definition itself.
16
+ - Summary: Reusable human-readable and machine-extractable transition definition for zero-to-many inputs, outputs, lifecycle effects, relations, conditions, authoring, and placement intent.
17
+
18
+ ---
19
+
20
+ # Transition Definition
21
+
22
+ ## Summary
23
+
24
+ Defines a reusable semantic description of a possible bounded transformation.
25
+
26
+ A Transition Definition describes what may change and under what semantic boundaries. It does not prove that an invocation occurred, that an output exists, that an actor was authorized, or that a mechanism successfully materialized the requested effects.
27
+
28
+ The definition is role-based and supports zero-to-many inputs and zero-to-many outputs. Lifecycle, continuity, relation, condition, authoring, and placement semantics remain explicit instead of being inferred from button labels such as Create, Edit, Continue, Reference, Split, Merge, or Use as.
29
+
30
+ An invocation binds concrete inputs, values, conditions, and destinations to a Transition Definition. Invocation does not normally create a Transition artifact or receipt. If an occurrence, receipt, report, event, certification, experiment result, or other record has independent domain value, declare it as an ordinary output with the schema that owns that meaning.
31
+
32
+ ## Core Semantics
33
+
34
+ - Transition Definition = reusable semantic transformation contract.
35
+ - Input roles and output roles are named semantic bindings, not positional slots.
36
+ - `Target Kind` classifies how a role participant is represented/bound for planning (`artifact`, `non-artifact`, or `unknown`); it is not a closed domain noun/type ontology.
37
+ - Zero input roles and zero output roles are both valid.
38
+ - Cardinality does not determine lifecycle semantics.
39
+ - Lifecycle effects may target declared Input Roles or Output Roles. A Lifecycle Effect may map an input role to an output role through `Result Binding`, but that reference does not create another binding namespace. Semantic participants are declared only through Input Roles or Output Roles; Destination Bindings are placement-only.
40
+ - `Parent` remains direct continuity ancestry and is distinct from generic relation effects, placement, path, origin, and provenance.
41
+ - Ordinary typed relation effects do not require Relation Artifacts.
42
+ - Definition origin, input origin, and output destination are independent.
43
+ - Lifecycle Effect is the semantic owner of required materialization operation; Output Roles and Placement do not duplicate that authority.
44
+ - Output completeness is distinct from transition applicability.
45
+ - Semantic meaning must remain readable without executable code, a particular runtime, or a particular UI.
46
+
47
+ ## Schema Validation Contract
48
+
49
+ ### Transition Definition Scope
50
+
51
+ Applies To
52
+
53
+ - artifacts whose `Current -> Current Schema` is `tiinex.transition.definition.v1`
54
+
55
+ Rules
56
+
57
+ - `tiinex.transition.definition.v1` identifies artifacts whose main job is to define a reusable semantic transformation.
58
+ - A Transition Definition is not proof of invocation, execution, mutation, authorization, output existence, validation, evidence, truth, approval, consent, preservation, or successful materialization.
59
+ - A Transition Definition must not inherit semantics from legacy `tiinex.transition.v1` or `tiinex.artifact.transition.v1` merely because historical labels appear in examples or presentation surfaces.
60
+ - Prose outside `Schema Validation Contract` may explain the schema, but it does not add required validation rules.
61
+
62
+ ### Transition Definition Body
63
+
64
+ Required Shape
65
+
66
+ - first body heading after the continuity envelope
67
+ - `## Transition Identity` section
68
+ - `## Purpose And Scope` section
69
+ - `## Input Roles` section
70
+ - `## Output Roles` section
71
+ - `## Lifecycle And Continuity Effects` section with `### Lifecycle Effects` and `### Parent Effects` subsections
72
+ - `## Relation Effects` section
73
+ - `## Applicability And Conditions` section
74
+ - `## Authoring Bindings` section
75
+ - `## Placement Intent` section with `### Destination Bindings` and `### Output Placements` subsections
76
+ - `## Interpretation Limits` section
77
+
78
+ Optional Sections
79
+
80
+ - Examples
81
+ - Related Definitions
82
+ - Migration Notes
83
+ - Relationship to Other Schemas
84
+
85
+ Rules
86
+
87
+ - Required sections must remain readable without specialized tooling.
88
+ - Repeated declarations must follow the named-entry shapes declared below and must not depend on prose parsing.
89
+ - A required repeated-declaration section with intentionally zero declarations must contain one literal first-level entry named `none` and no other entries.
90
+ - Literal `none` distinguishes intentional zero from a missing required section.
91
+
92
+ ### Transition Identity
93
+
94
+ Required Fields
95
+
96
+ - Name
97
+ - Version
98
+ - Canonical Identifier
99
+
100
+ Optional Fields
101
+
102
+ - Transition Family
103
+ - Human Label
104
+ - Related Definition
105
+ - Supersedes Definition
106
+ - Tags
107
+
108
+ Rules
109
+
110
+ - `Canonical Identifier` identifies the reusable Transition Definition, not an invocation and not every artifact it may produce.
111
+ - `Version` should change when reusable transformation semantics materially change.
112
+ - `Transition Family` is optional classification or discovery metadata only and must not control lifecycle, Parent, relation, authoring, placement, or applicability behavior.
113
+ - Artifact state is owned by root `Current -> Status`; Transition Identity does not introduce a second generic Status authority.
114
+ - Human labels such as Create, Edit, Continue, Reference, Merge, Split, Build Car, Qualify, React, or Transfer are not a closed behavioral ontology.
115
+
116
+ ### Purpose And Scope
117
+
118
+ Required Fields
119
+
120
+ - Purpose
121
+ - Semantic Boundary
122
+
123
+ Optional Fields
124
+
125
+ - Intended Domains
126
+ - Not Intended For
127
+ - Examples
128
+
129
+ Rules
130
+
131
+ - `Purpose` must explain the transformation in human-readable terms.
132
+ - `Semantic Boundary` must state important limits on what the definition owns.
133
+ - A definition may describe scientific, physical, social, legal, creative, computational, software, organizational, or mixed-domain transformations.
134
+
135
+ ### Input Role Declaration
136
+
137
+ Entry Shape
138
+
139
+ - First-Level Hyphen List Item
140
+
141
+ Required Fields
142
+
143
+ - Meaning
144
+ - Minimum Count
145
+ - Maximum Count
146
+
147
+ Optional Fields
148
+
149
+ - Acquisition Policy
150
+ - Target Kind
151
+ - Schema Constraint
152
+ - Condition
153
+ - Condition Reference
154
+ - Selection Notes
155
+
156
+ Allowed Labels
157
+
158
+ - existing-only
159
+ - existing-or-create
160
+ - create-only
161
+ - invocation-provided
162
+ - derived
163
+ - artifact
164
+ - non-artifact
165
+ - unknown
166
+ - unbounded
167
+
168
+ Field Value Constraints
169
+
170
+ - Acquisition Policy
171
+ - Allowed Value: existing-only
172
+ - Allowed Value: existing-or-create
173
+ - Allowed Value: create-only
174
+ - Allowed Value: invocation-provided
175
+ - Allowed Value: derived
176
+ - Allowed Value: unknown
177
+ - Domain Policy: closed
178
+
179
+ Rules
180
+
181
+ - Entries under `## Input Roles` are repeated named declarations using this shape.
182
+ - Declaration names are role names and must be unique within `## Input Roles`.
183
+ - `Minimum Count` must be zero, a positive integer, or `unknown`.
184
+ - `Maximum Count` must be zero, a positive integer, `unbounded`, or `unknown`.
185
+ - `unbounded` means the upper bound is known to have no finite limit; it must not be used to mean an unresolved upper bound.
186
+ - `unknown` means that bound is unresolved. Tools must preserve it and must not normalize it to zero, one, or `unbounded`.
187
+ - Maximum count must not be lower than minimum count when both bounds are numeric. Numeric ordering is not inferred when either bound is `unknown` or Maximum Count is `unbounded`.
188
+ - `Acquisition Policy` is optional invocation/planning guidance; absence means this Transition Definition does not prescribe how invocation obtains members for the role.
189
+ - `Target Kind` follows the shared Target Kind Semantics below. Acquisition Policy does not determine or override participant representation class.
190
+ - Recognized acquisition labels are `existing-only`, `existing-or-create`, `create-only`, `invocation-provided`, `derived`, and `unknown`.
191
+ - `existing-only` requires an already bound/existing suitable participant when the role is required.
192
+ - `existing-or-create` allows either an existing suitable participant or satisfaction through an applicable Transition Definition capable of producing the role.
193
+ - `create-only` means the role should be satisfied through an applicable producing Transition Definition rather than by binding an already-existing participant.
194
+ - `schema.generation` may shape content, draft state, defaults, or unknowns after semantic creation is authorized, but generation semantics do not independently authorize artifact creation.
195
+ - Role names express semantics rather than positional identity.
196
+ - When neither `Condition` nor `Condition Reference` is declared, the role cardinality applies to every invocation.
197
+ - When a role condition is satisfied, that role participates and its declared cardinality applies.
198
+ - When a role condition is not satisfied or is not applicable, that role does not participate for that invocation and its `Minimum Count` does not independently make the invocation invalid.
199
+ - When the role condition is unknown, unavailable, or not evaluated, role participation and any cardinality-dependent applicability remain unresolved; planner/runtime must not guess that the role is required or absent.
200
+ - Role conditions follow the shared Condition Binding Semantics below.
201
+ - The literal entry `none` is allowed only as the sole `## Input Roles` entry and is exempt from declaration fields.
202
+
203
+ ### Output Role Declaration
204
+
205
+ Entry Shape
206
+
207
+ - First-Level Hyphen List Item
208
+
209
+ Required Fields
210
+
211
+ - Meaning
212
+ - Minimum Count
213
+ - Maximum Count
214
+
215
+ Optional Fields
216
+
217
+ - Target Kind
218
+ - Schema Constraint
219
+ - Generation Binding
220
+ - Selection Notes
221
+
222
+ Allowed Labels
223
+
224
+ - target-schema
225
+ - artifact
226
+ - non-artifact
227
+ - unbounded
228
+ - none
229
+ - unknown
230
+
231
+ Field Value Constraints
232
+
233
+ - Generation Binding
234
+ - Allowed Value: target-schema
235
+ - Allowed Shape: Markdown Link
236
+ - Domain Policy: closed
237
+
238
+ Rules
239
+
240
+ - Entries under `## Output Roles` are repeated named declarations using this shape.
241
+ - Declaration names are role names and must be unique within `## Output Roles`.
242
+ - `Minimum Count` must be zero, a positive integer, or `unknown`.
243
+ - `Maximum Count` must be zero, a positive integer, `unbounded`, or `unknown`.
244
+ - `unbounded` means the upper bound is known to have no finite limit; it must not be used to mean an unresolved upper bound.
245
+ - `unknown` means that bound is unresolved. Tools must preserve it and must not normalize it to zero, one, or `unbounded`.
246
+ - Maximum count must not be lower than minimum count when both bounds are numeric. Numeric ordering is not inferred when either bound is `unknown` or Maximum Count is `unbounded`.
247
+ - Cardinality does not imply Create, Edit, Split, Merge, Preserve, Consume, or another lifecycle effect.
248
+ - `Target Kind` follows the shared Target Kind Semantics below and does not imply lifecycle, materialization, placement, generation, or completeness.
249
+ - `Generation Binding`, when present, is the single output-specific reference to generation semantics for this role. Transition-level Authoring Bindings must not override it.
250
+ - `Generation Binding: target-schema` means use the generation / Artifact Creation Contract semantics owned by the schema identified by this role's `Schema Constraint`.
251
+ - An explicit Generation Binding other than `target-schema` must be a resolvable Markdown reference to the schema or contract that owns those generation semantics; arbitrary descriptive prose is not a machine-resolvable Generation Binding.
252
+ - When `Generation Binding` is absent, this Transition Definition does not prescribe generation semantics for that output role.
253
+ - `Generation Binding: target-schema` is unresolved when `Schema Constraint` is absent/unresolved or when the target schema exposes no resolvable generation/creation authority; tools must not invent one.
254
+ - Output completeness is owned by the target schema / referenced generation semantics. It may remain unknown or incomplete when those authorities permit a legitimate draft, and Transition Definition does not add a second completeness expectation field.
255
+ - The literal entry `none` is allowed only as the sole `## Output Roles` entry and is exempt from declaration fields.
256
+
257
+ ### Target Kind Semantics
258
+
259
+ Applies To
260
+
261
+ - Input Role Declaration
262
+ - Output Role Declaration
263
+
264
+ Allowed Labels
265
+
266
+ - artifact
267
+ - non-artifact
268
+ - unknown
269
+
270
+ Field Value Constraints
271
+
272
+ - Target Kind
273
+ - Allowed Value: artifact
274
+ - Allowed Value: non-artifact
275
+ - Allowed Value: unknown
276
+ - Domain Policy: closed
277
+
278
+ Rules
279
+
280
+ - `Target Kind` classifies participant representation/binding semantics for planning. It does not name the participant's scientific, social, legal, software, or other domain type.
281
+ - `artifact` means the role binds Tiinex Artifact participant(s). Such participants are eligible for canonical artifact-index lookup/binding when the role's Acquisition Policy and invocation context permit it; `artifact` does not by itself assert that a suitable artifact exists or is applicable.
282
+ - For `artifact`, `Schema Constraint` may further restrict which Tiinex Artifact schemas qualify. Absence of `Schema Constraint` leaves the artifact schema class unconstrained within Tiinex Artifacts; it does not permit arbitrary non-artifact values.
283
+ - `non-artifact` means the role binds participant(s) that are not represented/bound as Tiinex Artifacts for this role. A runtime must not satisfy such a role merely by finding an Artifact with a compatible title, value, label, or UI context; the role's invocation/reference/value/resource authority determines its concrete binding.
284
+ - `unknown` means participant representation class is unresolved. Tools must preserve this unknown and must not guess artifact/non-artifact classification.
285
+ - `Acquisition Policy` is orthogonal to Target Kind. In particular, `invocation-provided` may bind either an Artifact participant or a non-artifact participant.
286
+ - A fully resolved role must have deterministic participant classification either through explicit `Target Kind` or through a resolvable `Schema Constraint`/authority that normatively determines the participant representation class.
287
+ - When both explicit `Target Kind` and a resolvable normative `Schema Constraint`/authority determine participant representation, they must agree. If they disagree, the role contains contradictory participant-classification truth: neither authority silently overrides the other, participant classification is unresolved/invalid for execution, and a fully resolved Transition Definition cannot retain the contradiction.
288
+ - An unresolved `Schema Constraint`/authority is not itself a contradiction with an explicit Target Kind. The explicit participant representation may remain known while the unresolved schema restriction remains unresolved.
289
+ - A resolvable schema constraint determines `artifact` only when that authority actually declares an Artifact contract; a schema-like name, path, label, role name, acquisition mode, UI context, or naming heuristic is not sufficient evidence.
290
+ - If neither explicit Target Kind nor a resolvable normative authority determines participant representation, the role's Target Kind remains unresolved and applicability/planning that depends on that classification remains unresolved.
291
+ - Artifact-index lookup must not be attempted solely because a role has `Schema Constraint`, `existing-only`, `existing-or-create`, `invocation-provided`, or an artifact-looking human label; classification must first resolve to `artifact`.
292
+ - Output Target Kind uses the same representation classes. `artifact` outputs are Tiinex Artifact participants; `non-artifact` outputs are semantic results/state not represented as Tiinex Artifacts for that role; `unknown` remains unresolved.
293
+ - Output Target Kind does not imply `create-new`, file materialization, placement, generation semantics, or completeness. Those remain owned by Lifecycle Effect, Output Placement, Generation Binding, and target/generation contracts respectively.
294
+ - A domain concept may legitimately use different Target Kinds in different definitions. For example, a person may be represented as a Tiinex Artifact in one role and as a non-artifact external identity/reference in another; `person` itself is not a Target Kind binding class.
295
+
296
+ ### Lifecycle Effect Declaration
297
+
298
+ Entry Shape
299
+
300
+ - First-Level Hyphen List Item
301
+
302
+ Required Fields
303
+
304
+ - Target Binding
305
+ - Effect
306
+
307
+ Optional Fields
308
+
309
+ - Result Binding
310
+ - Logical Continuity
311
+ - Effect Meaning
312
+ - Required Materialization Operation
313
+ - Preserve Why
314
+ - Member Mapping
315
+ - Mapping Key
316
+ - Mapping Meaning
317
+ - Condition
318
+ - Condition Reference
319
+ - Notes
320
+
321
+ Allowed Labels
322
+
323
+ - create-new
324
+ - revise-current
325
+ - preserve
326
+ - supersede
327
+ - retire
328
+ - domain-consume
329
+ - remove-materialization
330
+ - custom
331
+ - unknown
332
+ - new-subject
333
+ - preserve-subject
334
+ - no-subject-effect
335
+ - create
336
+ - revise
337
+ - delete
338
+ - move
339
+ - tombstone
340
+ - restore
341
+ - single
342
+ - broadcast
343
+ - pairwise
344
+ - all-to-all
345
+ - by-key
346
+ - explicit-at-invocation
347
+
348
+ Field Value Constraints
349
+
350
+ - Effect
351
+ - Allowed Value: create-new
352
+ - Allowed Value: revise-current
353
+ - Allowed Value: preserve
354
+ - Allowed Value: supersede
355
+ - Allowed Value: retire
356
+ - Allowed Value: domain-consume
357
+ - Allowed Value: remove-materialization
358
+ - Allowed Value: custom
359
+ - Allowed Value: unknown
360
+ - Domain Policy: closed
361
+
362
+ - Logical Continuity
363
+ - Allowed Value: new-subject
364
+ - Allowed Value: preserve-subject
365
+ - Allowed Value: no-subject-effect
366
+ - Allowed Value: unknown
367
+ - Domain Policy: closed
368
+
369
+ - Required Materialization Operation
370
+ - Allowed Value: create
371
+ - Allowed Value: revise
372
+ - Allowed Value: delete
373
+ - Allowed Value: move
374
+ - Allowed Value: tombstone
375
+ - Allowed Value: restore
376
+ - Domain Policy: extension-authorized
377
+
378
+ - Preserve Why
379
+ - Allowed Value: yes
380
+ - Allowed Value: no
381
+ - Allowed Value: unknown
382
+ - Domain Policy: closed
383
+
384
+ Rules
385
+
386
+ - Entries under `### Lifecycle Effects` are repeated lifecycle declarations using this shape.
387
+ - Declaration names must be unique within the lifecycle declaration set.
388
+ - `Target Binding` must resolve to a declared Input Role or Output Role.
389
+ - `Result Binding`, when present, must resolve to a declared Input Role or Output Role and is used when an affected participant maps to a separately declared resulting representation or entity.
390
+ - A semantic participant that already exists outside the definition still participates through an Input Role; S1 defines no hidden third participant-binding class.
391
+ - Lifecycle effects may target inputs without requiring an output artifact.
392
+ - `Effect` recognized labels are `create-new`, `revise-current`, `preserve`, `supersede`, `retire`, `domain-consume`, `remove-materialization`, `custom`, and `unknown`.
393
+ - `create-new` means the target output is introduced as a newly created transition result rather than a revision of an already bound current representation.
394
+ - `revise-current` means an existing bound logical subject is revised into the declared result/current representation; `Result Binding` should identify the resulting role when it differs from `Target Binding`.
395
+ - `preserve` means this Transition Definition declares no lifecycle-state change for the targeted participant.
396
+ - `supersede` means the targeted participant ceases to be the current/active semantic result in favor of a declared replacement/result; when the replacement is a separate role, `Result Binding` must identify it.
397
+ - `retire` means the targeted participant becomes inactive/retired without by itself asserting physical deletion or a replacement.
398
+ - `domain-consume` means the participant is consumed under domain semantics; it does not automatically mean physical deletion or loss of provenance/history.
399
+ - `remove-materialization` means the active materialized representation is intentionally removed where the mechanism supports that effect; it does not by itself erase logical continuity, provenance, or history.
400
+ - `custom` means lifecycle semantics are intentionally outside the recognized S1 labels and requires `Effect Meaning`.
401
+ - `unknown` means the lifecycle effect itself is unresolved and must not be guessed into a recognized effect.
402
+ - `Effect Meaning`, when present, is a readable explanation of the declared lifecycle effect. It is REQUIRED when `Effect` is `custom`.
403
+ - `Logical Continuity` recognized labels are `new-subject`, `preserve-subject`, `no-subject-effect`, and `unknown`.
404
+ - `new-subject` means the effect/result introduces a logically distinct artifact/subject rather than continuing the same logical subject.
405
+ - `preserve-subject` means the same logical artifact/subject continues across the effect even if its concrete representation or integrity fingerprint changes.
406
+ - `no-subject-effect` means this lifecycle declaration does not assert a logical-subject identity/continuity relationship.
407
+ - `unknown` means logical continuity is unresolved and must remain unresolved.
408
+ - `Logical Continuity` supplements lifecycle meaning and must not contradict `Effect`; contradictory combinations make the definition unresolved rather than creating implicit precedence.
409
+ - `Required Materialization Operation` is the single transition-definition authority for the requested mechanism operation. Recognized S1 labels are `create`, `revise`, `delete`, `move`, `tombstone`, and `restore`; explicit extensions are allowed when their meaning is declared elsewhere.
410
+ - `Member Mapping` is required when multiplicity in `Target Binding` / `Result Binding` would otherwise make the member association ambiguous.
411
+ - `Condition` / `Condition Reference` may condition this lifecycle effect according to the shared condition-binding rules below.
412
+ - `revise-current` may preserve logical artifact continuity while changing the concrete representation and its content-derived integrity fingerprint.
413
+ - `domain-consume` does not automatically mean physical deletion.
414
+ - Unsupported materialization operations must not be silently substituted with a different lifecycle effect.
415
+ - `Preserve Why`, when present, uses `yes`, `no`, or `unknown`.
416
+ - Placement preservation is not a Lifecycle Effect field; placement is owned by Output Placement `Placement Intent`.
417
+ - In a fully resolved Transition Definition, every declared Output Role must be covered by at least one applicable Lifecycle Effect through `Target Binding` or `Result Binding` so output lifecycle is not inferred from cardinality.
418
+ - Conditional alternative lifecycle effects may provide that coverage. If their conditions leave an output's lifecycle unresolved/gapped for an invocation, lifecycle coverage remains unresolved rather than defaulting to `create-new`, `preserve`, or another effect.
419
+ - S1 defines no implicit lifecycle-effect precedence or composition. If different lifecycle effects can apply simultaneously to the same concrete participant and their meanings conflict, the definition is unresolved unless the conflict is removed or separately modeled.
420
+ - Input Roles do not require Lifecycle Effects merely because they participate. Absence of an input-targeted Lifecycle Effect means this Transition Definition declares no lifecycle mutation of that input.
421
+ - The literal entry `none` is allowed only as the sole `### Lifecycle Effects` entry when no lifecycle effect is intended and is exempt from declaration fields.
422
+
423
+ ### Parent Effect Declaration
424
+
425
+ Entry Shape
426
+
427
+ - First-Level Hyphen List Item
428
+
429
+ Required Fields
430
+
431
+ - Output Binding
432
+ - Effect
433
+
434
+ Optional Fields
435
+
436
+ - Parent Binding
437
+ - Member Mapping
438
+ - Mapping Key
439
+ - Mapping Meaning
440
+ - Condition
441
+ - Condition Reference
442
+ - Notes
443
+
444
+ Allowed Labels
445
+
446
+ - set
447
+ - preserve
448
+ - clear
449
+ - replace
450
+ - unknown
451
+ - single
452
+ - broadcast
453
+ - pairwise
454
+ - by-key
455
+ - explicit-at-invocation
456
+ - custom
457
+
458
+ Field Value Constraints
459
+
460
+ - Effect
461
+ - Allowed Value: set
462
+ - Allowed Value: preserve
463
+ - Allowed Value: clear
464
+ - Allowed Value: replace
465
+ - Allowed Value: unknown
466
+ - Domain Policy: closed
467
+
468
+ - Member Mapping
469
+ - Allowed Value: single
470
+ - Allowed Value: broadcast
471
+ - Allowed Value: pairwise
472
+ - Allowed Value: by-key
473
+ - Allowed Value: explicit-at-invocation
474
+ - Allowed Value: custom
475
+ - Allowed Value: unknown
476
+ - Domain Policy: closed
477
+
478
+ Rules
479
+
480
+ - Entries under `### Parent Effects` are repeated Parent Effect declarations using this shape.
481
+ - Declaration names must be unique within `### Parent Effects`.
482
+ - `Output Binding` must resolve to a declared Output Role.
483
+ - `Parent Binding` must resolve to a declared Input Role or Output Role that is eligible to serve as the direct continuity parent when `Effect` is `set` or `replace`.
484
+ - `Member Mapping` is required when multiplicity would otherwise make output-to-Parent assignment ambiguous.
485
+ - Parent remains singular direct continuity ancestry: mapping must resolve to at most one direct Parent per concrete output artifact.
486
+ - `broadcast` may map one concrete Parent to multiple outputs, or many candidate outputs to one Parent binding, only when each output still resolves to at most one direct Parent.
487
+ - `all-to-all` is not a recognized Parent Effect mapping because it can assign multiple direct Parents to one output.
488
+ - `Condition` / `Condition Reference` may condition this Parent effect according to the shared condition-binding rules below.
489
+ - Parent must not be used to represent all inputs, generic derivation, provenance, storage location, or path.
490
+ - Ordinary Edit should preserve Parent unless the definition intentionally changes continuity structure.
491
+ - The literal entry `none` is allowed only as the sole `### Parent Effects` entry when no Parent effect is intended and is exempt from declaration fields.
492
+
493
+ ### Relation Effect Declaration
494
+
495
+ Entry Shape
496
+
497
+ - First-Level Hyphen List Item
498
+
499
+ Required Fields
500
+
501
+ - Effect
502
+ - Subject Binding
503
+ - Predicate Identifier
504
+ - Predicate Meaning
505
+ - Object Binding
506
+ - Directionality
507
+
508
+ Optional Fields
509
+
510
+ - Predicate Label
511
+ - Predicate Vocabulary
512
+ - Predicate Authority
513
+ - Condition
514
+ - Condition Reference
515
+ - Inverse Predicate Identifier
516
+ - Member Mapping
517
+ - Mapping Key
518
+ - Mapping Meaning
519
+ - Notes
520
+
521
+ Allowed Labels
522
+
523
+ - declare
524
+ - remove
525
+ - preserve
526
+ - unknown
527
+ - directed
528
+ - undirected
529
+ - bidirectional
530
+ - single
531
+ - broadcast
532
+ - pairwise
533
+ - all-to-all
534
+ - by-key
535
+ - explicit-at-invocation
536
+ - custom
537
+
538
+ Field Value Constraints
539
+
540
+ - Effect
541
+ - Allowed Value: declare
542
+ - Allowed Value: remove
543
+ - Allowed Value: preserve
544
+ - Allowed Value: unknown
545
+ - Domain Policy: closed
546
+
547
+ - Directionality
548
+ - Allowed Value: directed
549
+ - Allowed Value: undirected
550
+ - Allowed Value: bidirectional
551
+ - Domain Policy: closed
552
+
553
+ Rules
554
+
555
+ - Entries under `## Relation Effects` are repeated named declarations using this shape.
556
+ - Declaration names must be unique within `## Relation Effects`.
557
+ - `Subject Binding` and `Object Binding` must resolve to declared Input Roles or Output Roles.
558
+ - Input-to-output, input-to-input, output-to-output, and output-to-input relation effects are legal.
559
+ - An existing external/current entity that participates semantically must be declared as an Input Role rather than referenced through an undefined third participant class.
560
+ - `Predicate Identifier` is the stable machine-facing semantic key within its declared vocabulary or authority.
561
+ - When neither `Predicate Vocabulary` nor `Predicate Authority` is supplied, `Predicate Identifier` is local to the exact defining Transition Definition artifact/version. `Canonical Identifier` plus `Version` is its local semantic key inside that defining artifact, but those text values alone are not asserted globally unique across independent origins.
562
+ - A locally scoped predicate exported or materialized outside this Transition Definition context must carry a resolvable reference/authority for the exact defining Transition Definition artifact/version together with the local Predicate Identifier. Ordinary Tiinex references, continuity references, or source/permalink references may provide that scope where available.
563
+ - A bare local identifier/label, or merely matching `Canonical Identifier` + `Version` strings from unrelated definitions, is not portable predicate identity.
564
+ - If predicate identity must remain portable independently across Transition Definition versions/origins, declare an explicit `Predicate Vocabulary` or `Predicate Authority` rather than relying on local scope.
565
+ - `Predicate Meaning` must keep the edge understandable when the vocabulary cannot be resolved.
566
+ - `Predicate Label` is presentation only and is not predicate identity.
567
+ - `Predicate Vocabulary` or `Predicate Authority` may identify Tiinex, scientific, standards-based, domain, schema-local, or external semantic authority.
568
+ - `Directionality` is required and must be `directed`, `undirected`, or `bidirectional`.
569
+ - `Inverse Predicate Identifier`, when present, resolves in the same predicate scope unless it is explicitly qualified by another declared authority.
570
+ - `Member Mapping` is required when subject/object multiplicity would otherwise make concrete edge assignment ambiguous.
571
+ - Role cardinality owns participant multiplicity; Member Mapping owns how those concrete members form edges. Relation Effect does not add a second minimum/maximum count authority.
572
+ - `replace` is not a recognized Relation Effect operation; relation replacement is expressed as an explicit `remove` effect plus an explicit `declare` effect.
573
+ - `Condition` / `Condition Reference` may condition this relation effect according to the shared condition-binding rules below.
574
+ - Unknown predicates must be preserved and must not be normalized into a vague generic relation merely because labels look similar.
575
+ - Relation Effects do not implicitly create Relation Artifacts.
576
+ - When a relation instance deserves independent artifact ownership, declare that artifact through an ordinary Output Role and its normal generation, lifecycle, and placement semantics.
577
+ - Direct continuity ancestry uses Parent Effects, not a generic relation predicate.
578
+ - The literal entry `none` is allowed only as the sole `## Relation Effects` entry and is exempt from declaration fields.
579
+
580
+ ### Member Mapping Semantics
581
+
582
+ Applies To
583
+
584
+ - Lifecycle Effect Declaration
585
+ - Parent Effect Declaration
586
+ - Relation Effect Declaration
587
+
588
+ Allowed Labels
589
+
590
+ - single
591
+ - broadcast
592
+ - pairwise
593
+ - all-to-all
594
+ - by-key
595
+ - explicit-at-invocation
596
+ - custom
597
+ - unknown
598
+
599
+ Field Value Constraints
600
+
601
+ - Member Mapping
602
+ - Allowed Value: single
603
+ - Allowed Value: broadcast
604
+ - Allowed Value: pairwise
605
+ - Allowed Value: all-to-all
606
+ - Allowed Value: by-key
607
+ - Allowed Value: explicit-at-invocation
608
+ - Allowed Value: custom
609
+ - Allowed Value: unknown
610
+ - Domain Policy: closed
611
+
612
+ Rules
613
+
614
+ - Member Mapping is required only when multiplicity would otherwise make a Lifecycle, Parent, or Relation effect ambiguous.
615
+ - `single` means all bindings relevant to the effect resolve unambiguously to one concrete member where an association is required.
616
+ - `broadcast` means exactly one side of the effect association resolves to one concrete member and that member is associated with every relevant member on the other side; the effect's named bindings determine which semantic roles participate.
617
+ - `pairwise` means a complete one-to-one association over the concrete members participating in the owning effect. Every participating concrete member on either paired side appears in exactly one explicit pair. Pairing must never be inferred from list, declaration, or index order.
618
+ - If an effect intentionally uses an irregular or partial association, use `explicit-at-invocation`, `custom`, or bind only the intended participant subset before applying the effect; `pairwise` must not silently omit members.
619
+ - `all-to-all` means the Cartesian association is intentional. It is legal only for effect types whose own semantics permit it and is not legal for Parent Effects.
620
+ - `by-key` means concrete members are matched through `Mapping Key`. Missing, duplicate, or unresolved keys remain unresolved and must never fall back to positional order.
621
+ - `explicit-at-invocation` means invocation supplies the exact association set.
622
+ - `custom` requires `Mapping Meaning`; a runtime that cannot understand it must preserve the declared semantics and must not claim deterministic execution.
623
+ - `unknown` means association is explicitly unresolved.
624
+ - A mapping declaration must operate only over bindings explicitly named by the owning effect; it must not introduce hidden positional participants.
625
+
626
+ ### Condition Binding Semantics
627
+
628
+ Applies To
629
+
630
+ - Input Role Declaration
631
+ - Lifecycle Effect Declaration
632
+ - Parent Effect Declaration
633
+ - Relation Effect Declaration
634
+ - Applicability And Conditions
635
+
636
+ Rules
637
+
638
+ - `Condition` alone is a local readable semantic condition.
639
+ - `Condition Reference` alone points to separately owned Condition semantics, which remain semantic authority.
640
+ - When both appear, `Condition Reference` remains semantic authority and local `Condition` is only a readable restatement or context note; it must not independently narrow, alter, or compose the referenced semantics.
641
+ - A genuinely different or narrower condition must be represented by the appropriate separately owned Condition semantics rather than hidden prose composition.
642
+ - Unknown condition state remains unknown; no implicit `else` branch is created.
643
+ - For an Input Role, no condition means its cardinality always applies; a satisfied condition activates the role and its cardinality; an unsatisfied/not-applicable condition removes that role from the invocation for that condition state; an unknown/unavailable/not-evaluated condition leaves role participation and cardinality-dependent applicability unresolved.
644
+
645
+ ### Applicability And Conditions
646
+
647
+ Required Fields
648
+
649
+ - Applicability Meaning
650
+
651
+ Optional Fields
652
+
653
+ - Condition
654
+ - Condition Reference
655
+ - Failure Meaning
656
+ - Unknown Meaning
657
+
658
+ Rules
659
+
660
+ - Transition applicability is distinct from artifact completeness.
661
+ - Required role participation is derived from declared Input Role cardinality after role-local conditions are resolved; `Applicability And Conditions` does not introduce a second required-role authority.
662
+ - Transition-level conditions and concrete invocation bindings combine with role cardinality to determine applicability. A missing participating role whose resolved `Minimum Count` requires members may make invocation inapplicable.
663
+ - If applicability depends on an `unknown` cardinality bound or an unknown/unavailable condition, applicability remains unresolved rather than being guessed applicable or inapplicable.
664
+ - Required-for-completeness output fields may remain unknown when creation is still semantically legitimate under the referenced generation/target contract.
665
+ - Unknown condition state must remain unknown rather than being guessed true or false.
666
+ - Condition references should preserve readable semantic meaning even when no runtime can execute them.
667
+
668
+ ### Authoring Bindings
669
+
670
+ Optional Fields
671
+
672
+ - Interaction Unit
673
+ - Schema Module
674
+ - Presentation Surface
675
+ - Authoring Notes
676
+
677
+ Rules
678
+
679
+ - Output Role `Generation Binding` owns generation semantics for that particular output role.
680
+ - Transition-level Authoring Bindings may reference interaction, module, presentation, or readable orchestration guidance, but they must not define, override, or silently default an Output Role's generation semantics.
681
+ - Transition Definition must not encode React components, wizard page order, one Verse's UI, or another framework-specific authoring flow as semantic truth.
682
+ - Different presentation surfaces may project different interactions over the same Transition Definition without changing its semantics.
683
+ - A literal first-level entry `none` may be used when no authoring binding is needed.
684
+
685
+ ### Destination Binding Declaration
686
+
687
+ Entry Shape
688
+
689
+ - First-Level Hyphen List Item
690
+
691
+ Required Fields
692
+
693
+ - Meaning
694
+
695
+ Optional Fields
696
+
697
+ - Required
698
+ - Destination Kind
699
+ - Capability Requirement
700
+ - Notes
701
+
702
+ Field Value Constraints
703
+
704
+ - Required
705
+ - Allowed Value: yes
706
+ - Allowed Value: no
707
+ - Allowed Value: unknown
708
+ - Domain Policy: closed
709
+
710
+ Rules
711
+
712
+ - Entries under `### Destination Bindings` are named reusable destination slots using this shape.
713
+ - Declaration names must be unique within the destination-binding set.
714
+ - A Transition Definition declares the destination slot; one invocation supplies the concrete destination value.
715
+ - Multiple Output Placements may reference the same Destination Binding so an entire result molecule can use one selected root or destination.
716
+ - `Required`, when present, uses `yes`, `no`, or `unknown`.
717
+ - Definition origin and input origins do not satisfy a Destination Binding by implication.
718
+ - In a fully resolved definition, each Destination Binding with `Required: yes` must be referenced by at least one Output Placement. A required but unused destination slot is unresolved/invalid rather than an instruction to ask for an unrelated destination.
719
+ - The literal entry `none` is allowed only as the sole `### Destination Bindings` entry when no destination binding is needed and is exempt from declaration fields.
720
+
721
+ ### Output Placement Declaration
722
+
723
+ Entry Shape
724
+
725
+ - First-Level Hyphen List Item
726
+
727
+ Required Fields
728
+
729
+ - Output Binding
730
+ - Placement Intent
731
+
732
+ Optional Fields
733
+
734
+ - Destination Binding
735
+ - Naming Authority
736
+ - Naming Authority Reference
737
+ - Relative To Binding
738
+ - Relative Placement Meaning
739
+ - Explicit Override Allowed
740
+ - Notes
741
+
742
+ Allowed Labels
743
+
744
+ - preserve-current
745
+ - new-materialization
746
+ - no-materialization
747
+ - unknown
748
+ - target-schema
749
+ - explicit-binding
750
+ - external-authority
751
+
752
+ Field Value Constraints
753
+
754
+ - Placement Intent
755
+ - Allowed Value: preserve-current
756
+ - Allowed Value: new-materialization
757
+ - Allowed Value: no-materialization
758
+ - Allowed Value: unknown
759
+ - Domain Policy: closed
760
+
761
+ - Naming Authority
762
+ - Allowed Value: target-schema
763
+ - Allowed Value: explicit-binding
764
+ - Allowed Value: external-authority
765
+ - Allowed Value: unknown
766
+ - Domain Policy: closed
767
+
768
+ - Explicit Override Allowed
769
+ - Allowed Value: yes
770
+ - Allowed Value: no
771
+ - Allowed Value: unknown
772
+ - Domain Policy: closed
773
+
774
+ Rules
775
+
776
+ - Entries under `### Output Placements` are repeated Output Placement declarations using this shape and declaration names must be unique within `### Output Placements`.
777
+ - `Output Binding` must resolve to a declared Output Role. `Result Binding` in a Lifecycle Effect is only a reference to a declared role and does not create another Output Binding namespace.
778
+ - `Destination Binding`, when present, must resolve to a declared Destination Binding.
779
+ - Multiple outputs may share one Destination Binding.
780
+ - `Placement Intent` is the single semantic placement axis for the output. Recognized labels are `preserve-current`, `new-materialization`, `no-materialization`, and `unknown`.
781
+ - `preserve-current` means preserve the current placement of the logically continued/revised subject represented by this output; it must not be used when no current placement can be resolved.
782
+ - `new-materialization` means the output requires a new placement under the bound/resolved destination; concrete path selection still belongs to the resolver/planner.
783
+ - `no-materialization` means the definition requires no physical/persisted output placement for this output role. It does not change lifecycle semantics by itself.
784
+ - `unknown` means output placement semantics are unresolved and must not be guessed.
785
+ - Destination requiredness is owned by `Destination Binding -> Required`; explicit override policy is owned by `Explicit Override Allowed`. Neither is encoded again inside `Placement Intent`.
786
+ - Placement owns destination and relative-placement constraints only; it must not duplicate the Lifecycle Effect's required materialization operation.
787
+ - `Naming Authority: target-schema` means use the File Naming authority declared by the schema identified by the Output Role's `Schema Constraint`. If that schema or naming contract is unresolved/unavailable, naming remains unresolved.
788
+ - `Naming Authority: explicit-binding` means invocation supplies the concrete naming value/segment for this Output Placement declaration according to the destination/placement contract; it does not create another reusable semantic binding namespace.
789
+ - `Naming Authority: external-authority` requires `Naming Authority Reference`, which must be a resolvable Markdown reference to the external schema/contract/authority that owns naming semantics.
790
+ - `Naming Authority: unknown` means naming authority is unresolved and must remain unresolved.
791
+ - `Naming Authority Reference` must not be used as a substitute for a Destination Binding and does not determine semantic identity.
792
+ - `Relative To Binding` may resolve to a declared Input Role or Output Role and express relative placement without turning that relation into Parent. An external/current container used for relative placement must participate through an Input Role rather than an undeclared container-binding class.
793
+ - Concrete path resolution belongs to a resolver/planner at invocation time.
794
+ - `Explicit Override Allowed`, when present, uses `yes`, `no`, or `unknown`.
795
+ - If naming or destination cannot be resolved truthfully, tools must expose unresolved placement or require explicit binding rather than invent a path.
796
+ - The literal entry `none` is allowed only as the sole `### Output Placements` entry when no output placement is intended and is exempt from declaration fields.
797
+
798
+ ### Placement Intent
799
+
800
+ Required Shape
801
+
802
+ - `### Destination Bindings` subsection
803
+ - `### Output Placements` subsection
804
+
805
+ Rules
806
+
807
+ - Each required subsection contains one or more named declarations or the literal sole entry `none`.
808
+ - Destination Binding and Output Placement declaration names must be distinguishable and unique within their respective declaration sets.
809
+ - One invocation may bind a destination once and reuse it for multiple outputs.
810
+ - Transition Definition storage origin, concrete input origins, and output destinations are independent.
811
+ - Parent is not path and Origin is not path.
812
+
813
+ ### Binding Resolution
814
+
815
+ Rules
816
+
817
+ - Semantic participant references (`Target Binding`, `Result Binding`, `Parent Binding`, `Subject Binding`, and `Object Binding`) must resolve to declared Input Roles or Output Roles as allowed by their local contract. `Output Binding` must resolve to a declared Output Role. S1 defines no other semantic participant or mapped-result declaration class.
818
+ - `Destination Binding` references resolve only to declared Destination Bindings and remain placement-only.
819
+ - `Relative To Binding` resolves to a declared Input Role or Output Role allowed by Output Placement and does not create a Parent by itself.
820
+ - Unresolved required bindings are invalid for a fully resolved definition and must remain visibly unresolved during draft authoring rather than being guessed.
821
+ - Duplicate declaration names are invalid unless a future explicit override contract defines otherwise.
822
+
823
+ ### File Naming
824
+
825
+ Allowed Shapes
826
+
827
+ - `<transition-slug>-transition-definition.trace.md`
828
+ - `<lineage>-<transition-slug>.trace.md`
829
+
830
+ Rules
831
+
832
+ - Transition Definition artifacts should use a slug that identifies the reusable transformation.
833
+ - Registry-like reusable definitions may use `<transition-slug>-transition-definition.trace.md`.
834
+ - Lineage-first definitions may use `<lineage>-<transition-slug>.trace.md` when they continue an ordinary local lineage.
835
+ - File naming is placement guidance only; it is not Transition Definition semantic identity or invocation identity.
836
+ - A Transition Definition's filename or origin must not determine output paths.
837
+ - Output target schemas retain their own File Naming authority where declared.
838
+ - S1 introduces no `.transition.md` extension.
839
+
840
+ ### Interpretation Limits
841
+
842
+ Required Fields
843
+
844
+ - Does Not Prove
845
+ - Must Not Be Inferred
846
+
847
+ Optional Fields
848
+
849
+ - Execution Boundary
850
+ - Authorization Boundary
851
+ - Completeness Boundary
852
+ - Validation Boundary
853
+ - Materialization Boundary
854
+ - Remaining Unknowns
855
+
856
+ Rules
857
+
858
+ - A Transition Definition alone does not prove invocation occurred, code executed, an output exists, an output is complete, an output is valid, a source was mutated, an actor was authorized, an adapter capability exists, a relation was materialized, Parent changed, execution succeeded, or a receipt/event exists.
859
+ - Definition semantics and execution/materialization truth must remain separate.
860
+
861
+ ## Artifact Creation Contract
862
+
863
+ ### Creation Scope
864
+
865
+ Required Fields
866
+
867
+ - Create When
868
+ - Do Not Create When
869
+
870
+ Rules
871
+
872
+ - Create a `tiinex.transition.definition.v1` artifact when a reusable transformation needs portable semantic ownership across humans, LLMs, tools, runtimes, or domains.
873
+ - Do not create a Transition Definition merely for a one-off occurrence that has no reusable transformation semantics.
874
+ - Do not create a separate Transition Definition merely to encode one UI button label when the actual behavior is already owned by another definition.
875
+
876
+ ### Required Inputs
877
+
878
+ Required Fields
879
+
880
+ - Name
881
+ - Version
882
+ - Canonical Identifier
883
+ - Purpose
884
+ - Semantic Boundary
885
+ - Input Roles
886
+ - Output Roles
887
+ - Lifecycle And Continuity Effects
888
+ - Relation Effects
889
+ - Applicability Meaning
890
+ - Placement Intent
891
+ - Interpretation Limits
892
+
893
+ Optional Fields
894
+
895
+ - Transition Family
896
+ - Authoring Bindings
897
+ - Conditions
898
+ - Related Definitions
899
+
900
+ Rules
901
+
902
+ - Intentional zero roles/effects must be explicit as `none` in required repeated-declaration sections.
903
+ - Unknown values must remain unknown rather than being invented.
904
+ - Creation of a Transition Definition does not invoke it.
905
+
906
+ ### Generation Rules
907
+
908
+ Rules
909
+
910
+ - Name semantic roles before choosing presentation labels.
911
+ - State cardinality separately from lifecycle.
912
+ - Resolve participant representation (`Target Kind`) independently from domain meaning and acquisition guidance; do not infer Artifact-index eligibility from labels or UI context.
913
+ - State participant lifecycle effects separately from relation and placement effects.
914
+ - Keep required materialization operation only in Lifecycle Effects.
915
+ - Use Parent Effects only for direct continuity ancestry.
916
+ - Bind output-specific generation semantics through each Output Role `Generation Binding`; reuse existing interaction, module, and presentation contracts for transition-level authoring without duplicating or overriding output generation authority.
917
+ - In a fully resolved definition, each declared Output Role must have applicable lifecycle coverage. Do not infer output lifecycle from cardinality, Generation Binding, Placement Intent, or UI labels.
918
+ - Generation semantics may shape content after a Transition Definition authorizes creation, but generation does not independently authorize semantic artifact creation.
919
+ - Keep definition origin, input origins, and invocation destination independent.
920
+ - Add interpretation limits before treating the definition as ready for use.
921
+
922
+ ## Minimal Example
923
+
924
+ ```md
925
+ # Continuity Context
926
+
927
+ - Envelope Schema: tiinex.root.v1
928
+ - Current
929
+ - Current Schema: tiinex.transition.definition.v1
930
+ - Created At: 2026-08-15 00:00:00
931
+ - Status: draft
932
+ - Why: Defines one reusable way to create a Task that directly continues a Topic.
933
+
934
+ ---
935
+
936
+ # Topic To Task
937
+
938
+ ## Transition Identity
939
+
940
+ - Name: Topic to Task
941
+ - Version: 1
942
+ - Canonical Identifier: topic-to-task
943
+
944
+ ## Purpose And Scope
945
+
946
+ - Purpose: Create one Task from one bound Topic while making that Topic the Task's direct continuity Parent.
947
+ - Semantic Boundary: Defines reusable transition semantics only; it does not prove invocation, creation, publication, or validation.
948
+
949
+ ## Input Roles
950
+
951
+ - source-topic
952
+ - Meaning: Topic used as the direct continuity source.
953
+ - Minimum Count: 1
954
+ - Maximum Count: 1
955
+ - Target Kind: artifact
956
+ - Schema Constraint: tiinex.topic.v1
957
+ - Acquisition Policy: existing-only
958
+
959
+ ## Output Roles
960
+
961
+ - task
962
+ - Meaning: Task created by the invocation.
963
+ - Minimum Count: 1
964
+ - Maximum Count: 1
965
+ - Target Kind: artifact
966
+ - Schema Constraint: tiinex.task.v1
967
+ - Generation Binding: target-schema
968
+
969
+ ## Lifecycle And Continuity Effects
970
+
971
+ ### Lifecycle Effects
972
+
973
+ - create-task
974
+ - Target Binding: task
975
+ - Effect: create-new
976
+ - Logical Continuity: new-subject
977
+ - Required Materialization Operation: create
978
+
979
+ ### Parent Effects
980
+
981
+ - task-continues-topic
982
+ - Output Binding: task
983
+ - Parent Binding: source-topic
984
+ - Effect: set
985
+
986
+ ## Relation Effects
987
+
988
+ - none
989
+
990
+ ## Applicability And Conditions
991
+
992
+ - Applicability Meaning: exactly one suitable source-topic must be bound before invocation can create the Task.
993
+
994
+ ## Authoring Bindings
995
+
996
+ - none
997
+
998
+ ## Placement Intent
999
+
1000
+ ### Destination Bindings
1001
+
1002
+ - destination-root
1003
+ - Meaning: writable root selected once for the created Task.
1004
+ - Required: yes
1005
+
1006
+ ### Output Placements
1007
+
1008
+ - task-placement
1009
+ - Output Binding: task
1010
+ - Placement Intent: new-materialization
1011
+ - Destination Binding: destination-root
1012
+ - Naming Authority: target-schema
1013
+
1014
+ ## Interpretation Limits
1015
+
1016
+ - Does Not Prove: that the transition was invoked or that a Task exists.
1017
+ - Must Not Be Inferred: that the source Topic is true, validated, mutated, or the output destination is the Transition Definition's own origin.
1018
+ ```
1019
+
1020
+ The example is intentionally singular so member-mapping fields are not required. Both roles explicitly declare `Target Kind: artifact`, making Artifact participant binding/index eligibility clear without deriving it from their names. `Generation Binding: target-schema` resolves generation semantics through the Task schema named by `Schema Constraint`. It demonstrates the envelope/body contract for the ordinary Topic-to-Task case without making Continue a semantic primitive. The inherited `# Continuity Integrity` footer is intentionally omitted from the example for readability; the example must not be read as a complete root-valid artifact without that inherited footer.
1021
+
1022
+ ## Relationship to Other Schemas
1023
+
1024
+ - [`tiinex.transition.v1`](../tiinex.transition.v1.schema.md) preserves a legacy invocation/provenance-shaped transition artifact meaning.
1025
+ - [`tiinex.artifact.transition.v1`](../artifact/tiinex.artifact.transition.v1.schema.md) preserves legacy artifact-specialized Continue/Reference/action semantics.
1026
+ - [`tiinex.relation.v1`](../../relation/tiinex.relation.v1.schema.md) owns standalone relation artifacts when the relation itself deserves artifact ownership; ordinary Transition relation effects need no Relation Artifact.
1027
+ - [`tiinex.schema.generation.v1`](../../schema/contract/generation/tiinex.schema.generation.v1.schema.md) owns generation/draft/unknown authoring semantics.
1028
+ - [`tiinex.condition.v1`](../../knowledge/condition/tiinex.condition.v1.schema.md) owns readable condition artifacts when conditions deserve separate artifact ownership.
1029
+ - [`tiinex.adapter.v1`](../../adapter/tiinex.adapter.v1.schema.md) owns mechanism capability declarations used to assess materialization availability.
1030
+ - Target schemas retain their own File Naming authority where declared.
1031
+
1032
+ ## Validation-Friendly Shape
1033
+
1034
+ - Transition identity fields are directly extractable.
1035
+ - Input Roles, Output Roles, Lifecycle Effects, Parent Effects, Relation Effects, Destination Bindings, and Output Placements use contract-defined named declarations rather than free prose.
1036
+ - Declaration names are unique within their declared scope.
1037
+ - Intentional zero is explicit as `none` where required.
1038
+ - Bindings are explicit references and unresolved references remain visible.
1039
+ - Participant representation class is explicit or normatively resolvable as `artifact`, `non-artifact`, or `unknown`; tools do not infer Artifact-index eligibility from labels, paths, acquisition mode, or UI context.
1040
+ - Cardinality, lifecycle, relations, placement, applicability, and completeness are separate semantic surfaces.
1041
+ - Unknown cardinality remains explicit `unknown`; it is not normalized to zero or `unbounded`.
1042
+ - Local relation predicates are portable only when the exported/materialized edge carries a resolvable reference to the exact defining Transition Definition artifact/version together with the local Predicate Identifier; matching `Canonical Identifier` + `Version` strings alone are not global predicate identity.
1043
+
1044
+ ## Interpretation Notes
1045
+
1046
+ - Transition Definition is general enough for creation, revision, transformation, split/merge, qualification, transfer, chemical reaction, scientific protocol, computation, graph rewrite, and other bounded domains without making those a closed action enum.
1047
+ - Invocation UI may pre-bind declared roles or ask only for unresolved inputs/destinations, but that projection must not change the definition's semantic truth or invent undeclared participant classes.
1048
+ - A runtime may use an Artifact index only for roles whose Target Kind resolves to `artifact`; non-artifact and unknown roles remain outside implicit Artifact-index matching.
1049
+ - A result graph may be simple or molecule-like; Tiinex does not require one artifact or one relation bubble per conceptual edge.
1050
+ - Runtime executability is a capability question, not a prerequisite for human/LLM understanding of the definition.
1051
+
1052
+ ---
1053
+
1054
+ # Continuity Integrity
1055
+
1056
+ - sha256-base64url-c14n-v1
1057
+ - Towards: [tiinex.root.v1.schema.md](https://github.com/Tiinex/docs/blob/0709fe80947de6b5b503f7d5202feb0e7fe94430/.topics/.schemas/tiinex.root.v1.schema.md)
1058
+ - Value: xF-jdUHgcYa6UnvXE9ueLSvbBi8fEKi6rsk5oAtD0f0
1059
+
1060
+ - sha256-base64url-c14n-v2
1061
+ - Towards: self
1062
+ - Value: h-pbRkCFmqafIz3NBcrAmfw9BHUbypex643l8-_EUVM