@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,744 @@
1
+ <!-- Contract-only test fixture for Tiinex/docs@068241174421716b941421e95931ec5a6e95b0da. Transition Definition schema/body contract is byte-unchanged from the prior canonical baseline; only machine-authoritative contract surfaces are retained. -->
2
+ # Continuity Context
3
+
4
+ - Envelope Schema: tiinex.root.v1
5
+ - Parent
6
+ - Parent Schema: tiinex.root.v1
7
+ - Trace: root.trace.md
8
+ - Origin: root.trace.md
9
+ - Current
10
+ - Current Schema: tiinex.transition.definition.v1
11
+ - Created At: 2026-08-15 00:00:00
12
+
13
+ ---
14
+
15
+ # Transition Definition
16
+
17
+ ## Schema Validation Contract
18
+
19
+ ### Transition Definition Scope
20
+
21
+ Applies To
22
+
23
+ - artifacts whose `Current -> Current Schema` is `tiinex.transition.definition.v1`
24
+
25
+ Rules
26
+
27
+ - `tiinex.transition.definition.v1` identifies artifacts whose main job is to define a reusable semantic transformation.
28
+ - A Transition Definition is not proof of invocation, execution, mutation, authorization, output existence, validation, evidence, truth, approval, consent, preservation, or successful materialization.
29
+ - 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.
30
+ - Prose outside `Schema Validation Contract` may explain the schema, but it does not add required validation rules.
31
+
32
+ ### Transition Definition Body
33
+
34
+ Required Shape
35
+
36
+ - first body heading after the continuity envelope
37
+ - `## Transition Identity` section
38
+ - `## Purpose And Scope` section
39
+ - `## Input Roles` section
40
+ - `## Output Roles` section
41
+ - `## Lifecycle And Continuity Effects` section with `### Lifecycle Effects` and `### Parent Effects` subsections
42
+ - `## Relation Effects` section
43
+ - `## Applicability And Conditions` section
44
+ - `## Authoring Bindings` section
45
+ - `## Placement Intent` section with `### Destination Bindings` and `### Output Placements` subsections
46
+ - `## Interpretation Limits` section
47
+
48
+ Optional Sections
49
+
50
+ - Examples
51
+ - Related Definitions
52
+ - Migration Notes
53
+ - Relationship to Other Schemas
54
+
55
+ Rules
56
+
57
+ - Required sections must remain readable without specialized tooling.
58
+ - Repeated declarations must follow the named-entry shapes declared below and must not depend on prose parsing.
59
+ - A required repeated-declaration section with intentionally zero declarations must contain one literal first-level entry named `none` and no other entries.
60
+ - Literal `none` distinguishes intentional zero from a missing required section.
61
+
62
+ ### Transition Identity
63
+
64
+ Required Fields
65
+
66
+ - Name
67
+ - Version
68
+ - Canonical Identifier
69
+
70
+ Optional Fields
71
+
72
+ - Transition Family
73
+ - Human Label
74
+ - Related Definition
75
+ - Supersedes Definition
76
+ - Tags
77
+
78
+ Rules
79
+
80
+ - `Canonical Identifier` identifies the reusable Transition Definition, not an invocation and not every artifact it may produce.
81
+ - `Version` should change when reusable transformation semantics materially change.
82
+ - `Transition Family` is optional classification or discovery metadata only and must not control lifecycle, Parent, relation, authoring, placement, or applicability behavior.
83
+ - Artifact state is owned by root `Current -> Status`; Transition Identity does not introduce a second generic Status authority.
84
+ - Human labels such as Create, Edit, Continue, Reference, Merge, Split, Build Car, Qualify, React, or Transfer are not a closed behavioral ontology.
85
+
86
+ ### Purpose And Scope
87
+
88
+ Required Fields
89
+
90
+ - Purpose
91
+ - Semantic Boundary
92
+
93
+ Optional Fields
94
+
95
+ - Intended Domains
96
+ - Not Intended For
97
+ - Examples
98
+
99
+ Rules
100
+
101
+ - `Purpose` must explain the transformation in human-readable terms.
102
+ - `Semantic Boundary` must state important limits on what the definition owns.
103
+ - A definition may describe scientific, physical, social, legal, creative, computational, software, organizational, or mixed-domain transformations.
104
+
105
+ ### Input Role Declaration
106
+
107
+ Entry Shape
108
+
109
+ - First-Level Hyphen List Item
110
+
111
+ Required Fields
112
+
113
+ - Meaning
114
+ - Minimum Count
115
+ - Maximum Count
116
+
117
+ Optional Fields
118
+
119
+ - Acquisition Policy
120
+ - Target Kind
121
+ - Schema Constraint
122
+ - Condition
123
+ - Condition Reference
124
+ - Selection Notes
125
+
126
+ Allowed Labels
127
+
128
+ - existing-only
129
+ - existing-or-create
130
+ - create-only
131
+ - invocation-provided
132
+ - derived
133
+ - artifact
134
+ - non-artifact
135
+ - unknown
136
+ - unbounded
137
+
138
+ Rules
139
+
140
+ - Entries under `## Input Roles` are repeated named declarations using this shape.
141
+ - Declaration names are role names and must be unique within `## Input Roles`.
142
+ - `Minimum Count` must be zero, a positive integer, or `unknown`.
143
+ - `Maximum Count` must be zero, a positive integer, `unbounded`, or `unknown`.
144
+ - `unbounded` means the upper bound is known to have no finite limit; it must not be used to mean an unresolved upper bound.
145
+ - `unknown` means that bound is unresolved. Tools must preserve it and must not normalize it to zero, one, or `unbounded`.
146
+ - 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`.
147
+ - `Acquisition Policy` is optional invocation/planning guidance; absence means this Transition Definition does not prescribe how invocation obtains members for the role.
148
+ - `Target Kind` follows the shared Target Kind Semantics below. Acquisition Policy does not determine or override participant representation class.
149
+ - Recognized acquisition labels are `existing-only`, `existing-or-create`, `create-only`, `invocation-provided`, `derived`, and `unknown`.
150
+ - `existing-only` requires an already bound/existing suitable participant when the role is required.
151
+ - `existing-or-create` allows either an existing suitable participant or satisfaction through an applicable Transition Definition capable of producing the role.
152
+ - `create-only` means the role should be satisfied through an applicable producing Transition Definition rather than by binding an already-existing participant.
153
+ - `schema.generation` may shape content, draft state, defaults, or unknowns after semantic creation is authorized, but generation semantics do not independently authorize artifact creation.
154
+ - Role names express semantics rather than positional identity.
155
+ - When neither `Condition` nor `Condition Reference` is declared, the role cardinality applies to every invocation.
156
+ - When a role condition is satisfied, that role participates and its declared cardinality applies.
157
+ - 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.
158
+ - 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.
159
+ - Role conditions follow the shared Condition Binding Semantics below.
160
+ - The literal entry `none` is allowed only as the sole `## Input Roles` entry and is exempt from declaration fields.
161
+
162
+ ### Output Role Declaration
163
+
164
+ Entry Shape
165
+
166
+ - First-Level Hyphen List Item
167
+
168
+ Required Fields
169
+
170
+ - Meaning
171
+ - Minimum Count
172
+ - Maximum Count
173
+
174
+ Optional Fields
175
+
176
+ - Target Kind
177
+ - Schema Constraint
178
+ - Generation Binding
179
+ - Selection Notes
180
+
181
+ Allowed Labels
182
+
183
+ - target-schema
184
+ - artifact
185
+ - non-artifact
186
+ - unbounded
187
+ - none
188
+ - unknown
189
+
190
+ Rules
191
+
192
+ - Entries under `## Output Roles` are repeated named declarations using this shape.
193
+ - Declaration names are role names and must be unique within `## Output Roles`.
194
+ - `Minimum Count` must be zero, a positive integer, or `unknown`.
195
+ - `Maximum Count` must be zero, a positive integer, `unbounded`, or `unknown`.
196
+ - `unbounded` means the upper bound is known to have no finite limit; it must not be used to mean an unresolved upper bound.
197
+ - `unknown` means that bound is unresolved. Tools must preserve it and must not normalize it to zero, one, or `unbounded`.
198
+ - 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`.
199
+ - Cardinality does not imply Create, Edit, Split, Merge, Preserve, Consume, or another lifecycle effect.
200
+ - `Target Kind` follows the shared Target Kind Semantics below and does not imply lifecycle, materialization, placement, generation, or completeness.
201
+ - `Generation Binding`, when present, is the single output-specific reference to generation semantics for this role. Transition-level Authoring Bindings must not override it.
202
+ - `Generation Binding: target-schema` means use the generation / Artifact Creation Contract semantics owned by the schema identified by this role's `Schema Constraint`.
203
+ - 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.
204
+ - When `Generation Binding` is absent, this Transition Definition does not prescribe generation semantics for that output role.
205
+ - `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.
206
+ - 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.
207
+ - The literal entry `none` is allowed only as the sole `## Output Roles` entry and is exempt from declaration fields.
208
+
209
+ ### Target Kind Semantics
210
+
211
+ Applies To
212
+
213
+ - Input Role Declaration
214
+ - Output Role Declaration
215
+
216
+ Allowed Labels
217
+
218
+ - artifact
219
+ - non-artifact
220
+ - unknown
221
+
222
+ Rules
223
+
224
+ - `Target Kind` classifies participant representation/binding semantics for planning. It does not name the participant's scientific, social, legal, software, or other domain type.
225
+ - `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.
226
+ - 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.
227
+ - `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.
228
+ - `unknown` means participant representation class is unresolved. Tools must preserve this unknown and must not guess artifact/non-artifact classification.
229
+ - `Acquisition Policy` is orthogonal to Target Kind. In particular, `invocation-provided` may bind either an Artifact participant or a non-artifact participant.
230
+ - 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.
231
+ - 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.
232
+ - 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.
233
+ - 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.
234
+ - 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.
235
+ - 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`.
236
+ - 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.
237
+ - 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.
238
+ - 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.
239
+
240
+ ### Lifecycle Effect Declaration
241
+
242
+ Entry Shape
243
+
244
+ - First-Level Hyphen List Item
245
+
246
+ Required Fields
247
+
248
+ - Target Binding
249
+ - Effect
250
+
251
+ Optional Fields
252
+
253
+ - Result Binding
254
+ - Logical Continuity
255
+ - Effect Meaning
256
+ - Required Materialization Operation
257
+ - Preserve Why
258
+ - Member Mapping
259
+ - Mapping Key
260
+ - Mapping Meaning
261
+ - Condition
262
+ - Condition Reference
263
+ - Notes
264
+
265
+ Allowed Labels
266
+
267
+ - create-new
268
+ - revise-current
269
+ - preserve
270
+ - supersede
271
+ - retire
272
+ - domain-consume
273
+ - remove-materialization
274
+ - custom
275
+ - unknown
276
+ - new-subject
277
+ - preserve-subject
278
+ - no-subject-effect
279
+ - create
280
+ - revise
281
+ - delete
282
+ - move
283
+ - tombstone
284
+ - restore
285
+ - single
286
+ - broadcast
287
+ - pairwise
288
+ - all-to-all
289
+ - by-key
290
+ - explicit-at-invocation
291
+
292
+ Rules
293
+
294
+ - Entries under `### Lifecycle Effects` are repeated lifecycle declarations using this shape.
295
+ - Declaration names must be unique within the lifecycle declaration set.
296
+ - `Target Binding` must resolve to a declared Input Role or Output Role.
297
+ - `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.
298
+ - A semantic participant that already exists outside the definition still participates through an Input Role; S1 defines no hidden third participant-binding class.
299
+ - Lifecycle effects may target inputs without requiring an output artifact.
300
+ - `Effect` recognized labels are `create-new`, `revise-current`, `preserve`, `supersede`, `retire`, `domain-consume`, `remove-materialization`, `custom`, and `unknown`.
301
+ - `create-new` means the target output is introduced as a newly created transition result rather than a revision of an already bound current representation.
302
+ - `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`.
303
+ - `preserve` means this Transition Definition declares no lifecycle-state change for the targeted participant.
304
+ - `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.
305
+ - `retire` means the targeted participant becomes inactive/retired without by itself asserting physical deletion or a replacement.
306
+ - `domain-consume` means the participant is consumed under domain semantics; it does not automatically mean physical deletion or loss of provenance/history.
307
+ - `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.
308
+ - `custom` means lifecycle semantics are intentionally outside the recognized S1 labels and requires `Effect Meaning`.
309
+ - `unknown` means the lifecycle effect itself is unresolved and must not be guessed into a recognized effect.
310
+ - `Effect Meaning`, when present, is a readable explanation of the declared lifecycle effect. It is REQUIRED when `Effect` is `custom`.
311
+ - `Logical Continuity` recognized labels are `new-subject`, `preserve-subject`, `no-subject-effect`, and `unknown`.
312
+ - `new-subject` means the effect/result introduces a logically distinct artifact/subject rather than continuing the same logical subject.
313
+ - `preserve-subject` means the same logical artifact/subject continues across the effect even if its concrete representation or integrity fingerprint changes.
314
+ - `no-subject-effect` means this lifecycle declaration does not assert a logical-subject identity/continuity relationship.
315
+ - `unknown` means logical continuity is unresolved and must remain unresolved.
316
+ - `Logical Continuity` supplements lifecycle meaning and must not contradict `Effect`; contradictory combinations make the definition unresolved rather than creating implicit precedence.
317
+ - `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.
318
+ - `Member Mapping` is required when multiplicity in `Target Binding` / `Result Binding` would otherwise make the member association ambiguous.
319
+ - `Condition` / `Condition Reference` may condition this lifecycle effect according to the shared condition-binding rules below.
320
+ - `revise-current` may preserve logical artifact continuity while changing the concrete representation and its content-derived integrity fingerprint.
321
+ - `domain-consume` does not automatically mean physical deletion.
322
+ - Unsupported materialization operations must not be silently substituted with a different lifecycle effect.
323
+ - `Preserve Why`, when present, uses `yes`, `no`, or `unknown`.
324
+ - Placement preservation is not a Lifecycle Effect field; placement is owned by Output Placement `Placement Intent`.
325
+ - 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.
326
+ - 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.
327
+ - 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.
328
+ - 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.
329
+ - 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.
330
+
331
+ ### Parent Effect Declaration
332
+
333
+ Entry Shape
334
+
335
+ - First-Level Hyphen List Item
336
+
337
+ Required Fields
338
+
339
+ - Output Binding
340
+ - Effect
341
+
342
+ Optional Fields
343
+
344
+ - Parent Binding
345
+ - Member Mapping
346
+ - Mapping Key
347
+ - Mapping Meaning
348
+ - Condition
349
+ - Condition Reference
350
+ - Notes
351
+
352
+ Allowed Labels
353
+
354
+ - set
355
+ - preserve
356
+ - clear
357
+ - replace
358
+ - unknown
359
+ - single
360
+ - broadcast
361
+ - pairwise
362
+ - by-key
363
+ - explicit-at-invocation
364
+ - custom
365
+
366
+ Rules
367
+
368
+ - Entries under `### Parent Effects` are repeated Parent Effect declarations using this shape.
369
+ - Declaration names must be unique within `### Parent Effects`.
370
+ - `Output Binding` must resolve to a declared Output Role.
371
+ - `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`.
372
+ - `Member Mapping` is required when multiplicity would otherwise make output-to-Parent assignment ambiguous.
373
+ - Parent remains singular direct continuity ancestry: mapping must resolve to at most one direct Parent per concrete output artifact.
374
+ - `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.
375
+ - `all-to-all` is not a recognized Parent Effect mapping because it can assign multiple direct Parents to one output.
376
+ - `Condition` / `Condition Reference` may condition this Parent effect according to the shared condition-binding rules below.
377
+ - Parent must not be used to represent all inputs, generic derivation, provenance, storage location, or path.
378
+ - Ordinary Edit should preserve Parent unless the definition intentionally changes continuity structure.
379
+ - 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.
380
+
381
+ ### Relation Effect Declaration
382
+
383
+ Entry Shape
384
+
385
+ - First-Level Hyphen List Item
386
+
387
+ Required Fields
388
+
389
+ - Effect
390
+ - Subject Binding
391
+ - Predicate Identifier
392
+ - Predicate Meaning
393
+ - Object Binding
394
+ - Directionality
395
+
396
+ Optional Fields
397
+
398
+ - Predicate Label
399
+ - Predicate Vocabulary
400
+ - Predicate Authority
401
+ - Condition
402
+ - Condition Reference
403
+ - Inverse Predicate Identifier
404
+ - Member Mapping
405
+ - Mapping Key
406
+ - Mapping Meaning
407
+ - Notes
408
+
409
+ Allowed Labels
410
+
411
+ - declare
412
+ - remove
413
+ - preserve
414
+ - unknown
415
+ - directed
416
+ - undirected
417
+ - bidirectional
418
+ - single
419
+ - broadcast
420
+ - pairwise
421
+ - all-to-all
422
+ - by-key
423
+ - explicit-at-invocation
424
+ - custom
425
+
426
+ Rules
427
+
428
+ - Entries under `## Relation Effects` are repeated named declarations using this shape.
429
+ - Declaration names must be unique within `## Relation Effects`.
430
+ - `Subject Binding` and `Object Binding` must resolve to declared Input Roles or Output Roles.
431
+ - Input-to-output, input-to-input, output-to-output, and output-to-input relation effects are legal.
432
+ - An existing external/current entity that participates semantically must be declared as an Input Role rather than referenced through an undefined third participant class.
433
+ - `Predicate Identifier` is the stable machine-facing semantic key within its declared vocabulary or authority.
434
+ - 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.
435
+ - 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.
436
+ - A bare local identifier/label, or merely matching `Canonical Identifier` + `Version` strings from unrelated definitions, is not portable predicate identity.
437
+ - 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.
438
+ - `Predicate Meaning` must keep the edge understandable when the vocabulary cannot be resolved.
439
+ - `Predicate Label` is presentation only and is not predicate identity.
440
+ - `Predicate Vocabulary` or `Predicate Authority` may identify Tiinex, scientific, standards-based, domain, schema-local, or external semantic authority.
441
+ - `Directionality` is required and must be `directed`, `undirected`, or `bidirectional`.
442
+ - `Inverse Predicate Identifier`, when present, resolves in the same predicate scope unless it is explicitly qualified by another declared authority.
443
+ - `Member Mapping` is required when subject/object multiplicity would otherwise make concrete edge assignment ambiguous.
444
+ - 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.
445
+ - `replace` is not a recognized Relation Effect operation; relation replacement is expressed as an explicit `remove` effect plus an explicit `declare` effect.
446
+ - `Condition` / `Condition Reference` may condition this relation effect according to the shared condition-binding rules below.
447
+ - Unknown predicates must be preserved and must not be normalized into a vague generic relation merely because labels look similar.
448
+ - Relation Effects do not implicitly create Relation Artifacts.
449
+ - When a relation instance deserves independent artifact ownership, declare that artifact through an ordinary Output Role and its normal generation, lifecycle, and placement semantics.
450
+ - Direct continuity ancestry uses Parent Effects, not a generic relation predicate.
451
+ - The literal entry `none` is allowed only as the sole `## Relation Effects` entry and is exempt from declaration fields.
452
+
453
+ ### Member Mapping Semantics
454
+
455
+ Allowed Labels
456
+
457
+ - single
458
+ - broadcast
459
+ - pairwise
460
+ - all-to-all
461
+ - by-key
462
+ - explicit-at-invocation
463
+ - custom
464
+ - unknown
465
+
466
+ Rules
467
+
468
+ - Member Mapping is required only when multiplicity would otherwise make a Lifecycle, Parent, or Relation effect ambiguous.
469
+ - `single` means all bindings relevant to the effect resolve unambiguously to one concrete member where an association is required.
470
+ - `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.
471
+ - `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.
472
+ - 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.
473
+ - `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.
474
+ - `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.
475
+ - `explicit-at-invocation` means invocation supplies the exact association set.
476
+ - `custom` requires `Mapping Meaning`; a runtime that cannot understand it must preserve the declared semantics and must not claim deterministic execution.
477
+ - `unknown` means association is explicitly unresolved.
478
+ - A mapping declaration must operate only over bindings explicitly named by the owning effect; it must not introduce hidden positional participants.
479
+
480
+ ### Condition Binding Semantics
481
+
482
+ Applies To
483
+
484
+ - Input Role Declaration
485
+ - Lifecycle Effect Declaration
486
+ - Parent Effect Declaration
487
+ - Relation Effect Declaration
488
+ - Applicability And Conditions
489
+
490
+ Rules
491
+
492
+ - `Condition` alone is a local readable semantic condition.
493
+ - `Condition Reference` alone points to separately owned Condition semantics, which remain semantic authority.
494
+ - 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.
495
+ - A genuinely different or narrower condition must be represented by the appropriate separately owned Condition semantics rather than hidden prose composition.
496
+ - Unknown condition state remains unknown; no implicit `else` branch is created.
497
+ - 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.
498
+
499
+ ### Applicability And Conditions
500
+
501
+ Required Fields
502
+
503
+ - Applicability Meaning
504
+
505
+ Optional Fields
506
+
507
+ - Condition
508
+ - Condition Reference
509
+ - Failure Meaning
510
+ - Unknown Meaning
511
+
512
+ Rules
513
+
514
+ - Transition applicability is distinct from artifact completeness.
515
+ - 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.
516
+ - 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.
517
+ - If applicability depends on an `unknown` cardinality bound or an unknown/unavailable condition, applicability remains unresolved rather than being guessed applicable or inapplicable.
518
+ - Required-for-completeness output fields may remain unknown when creation is still semantically legitimate under the referenced generation/target contract.
519
+ - Unknown condition state must remain unknown rather than being guessed true or false.
520
+ - Condition references should preserve readable semantic meaning even when no runtime can execute them.
521
+
522
+ ### Authoring Bindings
523
+
524
+ Optional Fields
525
+
526
+ - Interaction Unit
527
+ - Schema Module
528
+ - Presentation Surface
529
+ - Authoring Notes
530
+
531
+ Rules
532
+
533
+ - Output Role `Generation Binding` owns generation semantics for that particular output role.
534
+ - 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.
535
+ - Transition Definition must not encode React components, wizard page order, one Verse's UI, or another framework-specific authoring flow as semantic truth.
536
+ - Different presentation surfaces may project different interactions over the same Transition Definition without changing its semantics.
537
+ - A literal first-level entry `none` may be used when no authoring binding is needed.
538
+
539
+ ### Destination Binding Declaration
540
+
541
+ Entry Shape
542
+
543
+ - First-Level Hyphen List Item
544
+
545
+ Required Fields
546
+
547
+ - Meaning
548
+
549
+ Optional Fields
550
+
551
+ - Required
552
+ - Destination Kind
553
+ - Capability Requirement
554
+ - Notes
555
+
556
+ Rules
557
+
558
+ - Entries under `### Destination Bindings` are named reusable destination slots using this shape.
559
+ - Declaration names must be unique within the destination-binding set.
560
+ - A Transition Definition declares the destination slot; one invocation supplies the concrete destination value.
561
+ - Multiple Output Placements may reference the same Destination Binding so an entire result molecule can use one selected root or destination.
562
+ - `Required`, when present, uses `yes`, `no`, or `unknown`.
563
+ - Definition origin and input origins do not satisfy a Destination Binding by implication.
564
+ - 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.
565
+ - 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.
566
+
567
+ ### Output Placement Declaration
568
+
569
+ Entry Shape
570
+
571
+ - First-Level Hyphen List Item
572
+
573
+ Required Fields
574
+
575
+ - Output Binding
576
+ - Placement Intent
577
+
578
+ Optional Fields
579
+
580
+ - Destination Binding
581
+ - Naming Authority
582
+ - Naming Authority Reference
583
+ - Relative To Binding
584
+ - Relative Placement Meaning
585
+ - Explicit Override Allowed
586
+ - Notes
587
+
588
+ Allowed Labels
589
+
590
+ - preserve-current
591
+ - new-materialization
592
+ - no-materialization
593
+ - unknown
594
+ - target-schema
595
+ - explicit-binding
596
+ - external-authority
597
+
598
+ Rules
599
+
600
+ - Entries under `### Output Placements` are repeated Output Placement declarations using this shape and declaration names must be unique within `### Output Placements`.
601
+ - `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.
602
+ - `Destination Binding`, when present, must resolve to a declared Destination Binding.
603
+ - Multiple outputs may share one Destination Binding.
604
+ - `Placement Intent` is the single semantic placement axis for the output. Recognized labels are `preserve-current`, `new-materialization`, `no-materialization`, and `unknown`.
605
+ - `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.
606
+ - `new-materialization` means the output requires a new placement under the bound/resolved destination; concrete path selection still belongs to the resolver/planner.
607
+ - `no-materialization` means the definition requires no physical/persisted output placement for this output role. It does not change lifecycle semantics by itself.
608
+ - `unknown` means output placement semantics are unresolved and must not be guessed.
609
+ - Destination requiredness is owned by `Destination Binding -> Required`; explicit override policy is owned by `Explicit Override Allowed`. Neither is encoded again inside `Placement Intent`.
610
+ - Placement owns destination and relative-placement constraints only; it must not duplicate the Lifecycle Effect's required materialization operation.
611
+ - `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.
612
+ - `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.
613
+ - `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.
614
+ - `Naming Authority: unknown` means naming authority is unresolved and must remain unresolved.
615
+ - `Naming Authority Reference` must not be used as a substitute for a Destination Binding and does not determine semantic identity.
616
+ - `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.
617
+ - Concrete path resolution belongs to a resolver/planner at invocation time.
618
+ - `Explicit Override Allowed`, when present, uses `yes`, `no`, or `unknown`.
619
+ - If naming or destination cannot be resolved truthfully, tools must expose unresolved placement or require explicit binding rather than invent a path.
620
+ - 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.
621
+
622
+ ### Placement Intent
623
+
624
+ Required Shape
625
+
626
+ - `### Destination Bindings` subsection
627
+ - `### Output Placements` subsection
628
+
629
+ Rules
630
+
631
+ - Each required subsection contains one or more named declarations or the literal sole entry `none`.
632
+ - Destination Binding and Output Placement declaration names must be distinguishable and unique within their respective declaration sets.
633
+ - One invocation may bind a destination once and reuse it for multiple outputs.
634
+ - Transition Definition storage origin, concrete input origins, and output destinations are independent.
635
+ - Parent is not path and Origin is not path.
636
+
637
+ ### Binding Resolution
638
+
639
+ Rules
640
+
641
+ - 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.
642
+ - `Destination Binding` references resolve only to declared Destination Bindings and remain placement-only.
643
+ - `Relative To Binding` resolves to a declared Input Role or Output Role allowed by Output Placement and does not create a Parent by itself.
644
+ - Unresolved required bindings are invalid for a fully resolved definition and must remain visibly unresolved during draft authoring rather than being guessed.
645
+ - Duplicate declaration names are invalid unless a future explicit override contract defines otherwise.
646
+
647
+ ### File Naming
648
+
649
+ Allowed Shapes
650
+
651
+ - `<transition-slug>-transition-definition.trace.md`
652
+ - `<lineage>-<transition-slug>.trace.md`
653
+
654
+ Rules
655
+
656
+ - Transition Definition artifacts should use a slug that identifies the reusable transformation.
657
+ - Registry-like reusable definitions may use `<transition-slug>-transition-definition.trace.md`.
658
+ - Lineage-first definitions may use `<lineage>-<transition-slug>.trace.md` when they continue an ordinary local lineage.
659
+ - File naming is placement guidance only; it is not Transition Definition semantic identity or invocation identity.
660
+ - A Transition Definition's filename or origin must not determine output paths.
661
+ - Output target schemas retain their own File Naming authority where declared.
662
+ - S1 introduces no `.transition.md` extension.
663
+
664
+ ### Interpretation Limits
665
+
666
+ Required Fields
667
+
668
+ - Does Not Prove
669
+ - Must Not Be Inferred
670
+
671
+ Optional Fields
672
+
673
+ - Execution Boundary
674
+ - Authorization Boundary
675
+ - Completeness Boundary
676
+ - Validation Boundary
677
+ - Materialization Boundary
678
+ - Remaining Unknowns
679
+
680
+ Rules
681
+
682
+ - 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.
683
+ - Definition semantics and execution/materialization truth must remain separate.
684
+
685
+ ## Artifact Creation Contract
686
+
687
+ ### Creation Scope
688
+
689
+ Required Fields
690
+
691
+ - Create When
692
+ - Do Not Create When
693
+
694
+ Rules
695
+
696
+ - Create a `tiinex.transition.definition.v1` artifact when a reusable transformation needs portable semantic ownership across humans, LLMs, tools, runtimes, or domains.
697
+ - Do not create a Transition Definition merely for a one-off occurrence that has no reusable transformation semantics.
698
+ - Do not create a separate Transition Definition merely to encode one UI button label when the actual behavior is already owned by another definition.
699
+
700
+ ### Required Inputs
701
+
702
+ Required Fields
703
+
704
+ - Name
705
+ - Version
706
+ - Canonical Identifier
707
+ - Purpose
708
+ - Semantic Boundary
709
+ - Input Roles
710
+ - Output Roles
711
+ - Lifecycle And Continuity Effects
712
+ - Relation Effects
713
+ - Applicability Meaning
714
+ - Placement Intent
715
+ - Interpretation Limits
716
+
717
+ Optional Fields
718
+
719
+ - Transition Family
720
+ - Authoring Bindings
721
+ - Conditions
722
+ - Related Definitions
723
+
724
+ Rules
725
+
726
+ - Intentional zero roles/effects must be explicit as `none` in required repeated-declaration sections.
727
+ - Unknown values must remain unknown rather than being invented.
728
+ - Creation of a Transition Definition does not invoke it.
729
+
730
+ ### Generation Rules
731
+
732
+ Rules
733
+
734
+ - Name semantic roles before choosing presentation labels.
735
+ - State cardinality separately from lifecycle.
736
+ - Resolve participant representation (`Target Kind`) independently from domain meaning and acquisition guidance; do not infer Artifact-index eligibility from labels or UI context.
737
+ - State participant lifecycle effects separately from relation and placement effects.
738
+ - Keep required materialization operation only in Lifecycle Effects.
739
+ - Use Parent Effects only for direct continuity ancestry.
740
+ - 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.
741
+ - 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.
742
+ - Generation semantics may shape content after a Transition Definition authorizes creation, but generation does not independently authorize semantic artifact creation.
743
+ - Keep definition origin, input origins, and invocation destination independent.
744
+ - Add interpretation limits before treating the definition as ready for use.