@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,550 @@
1
+ # Continuity Context
2
+
3
+ - Envelope Schema: [tiinex.root.v1](../../../tiinex.root.v1.schema.md)
4
+ - Parent
5
+ - Parent Schema: [tiinex.relation.v1](../../tiinex.relation.v1.schema.md)
6
+ - Created At: 2026-06-26 00:00:00
7
+ - Trace: [tiinex.relation.v1.schema.md](../../tiinex.relation.v1.schema.md)
8
+ - Origin:
9
+ - [relative](../../tiinex.relation.v1.schema.md)
10
+ - [browse + git](https://github.com/Tiinex/docs/blob/0fdce5f265298321a41cd90cf5382bcb6ae31a13/.topics/.schemas/relation/tiinex.relation.v1.schema.md)
11
+ - Current
12
+ - Current Schema: [tiinex.workspace.representation.v1](tiinex.workspace.representation.v1.schema.md)
13
+ - Created At: 2026-08-27 18:23:50
14
+ - Authors: Axiom
15
+ - Why: Defines the narrow canonical non-Parent relation that binds one explicit Workspace artifact to one explicit complete or intentionally bounded External Payload representation with deterministic Workspace-tree correlation and fail-closed provider qualification.
16
+ - Summary: Relation-owned companion schema for exact complete and bounded Workspace byte-tree representation bindings.
17
+ - Repairs
18
+ - Bounded Workspace representation activation
19
+ - Target: Schema Validation Contract / Representation Binding, Representation Scope, Representation Correlation, and Provider Qualification
20
+ - Note: Adds an explicit `bounded` coverage mode and bounded-only activation contract while leaving existing `complete` provider semantics unchanged; legacy `partial` and `unknown` coverage remain non-ready.
21
+ - Reason: Scoped export needs an intentional subset representation of one source Workspace without calling that subset a complete Workspace or treating detached transport closure as Workspace membership.
22
+
23
+ ---
24
+
25
+ # Workspace Representation
26
+
27
+ - Status: draft schema note
28
+
29
+ ## Summary
30
+
31
+ `tiinex.workspace.representation.v1` defines one explicit non-Parent semantic binding
32
+ between one `tiinex.workspace.v1` artifact and one `tiinex.external.payload.v1`
33
+ artifact whose payload represents either the complete Workspace byte tree or one
34
+ explicitly bounded subset of that byte tree.
35
+
36
+ The Workspace artifact remains the semantic, human-readable, lineage-bearing
37
+ Workspace. The External Payload artifact remains the owner of representation
38
+ payload identity, location, media/format metadata, exact payload-byte integrity,
39
+ access, and recovery boundaries. This companion owns only the relation endpoints,
40
+ Workspace-tree-to-payload-entry correlation, explicit bounded-scope semantics when
41
+ coverage is intentionally narrower than complete, binding state, and provider
42
+ qualification boundaries needed to interpret those two artifacts together.
43
+
44
+ The companion does not create or imply maintained `tiinex.archive.v1` or
45
+ `tiinex.zip.v1` semantics. An archive format such as `application/zip` remains
46
+ External Payload metadata unless a separately maintained schema later owns that
47
+ format semantics.
48
+
49
+ ## Schema Validation Contract
50
+
51
+ ### Workspace Representation Scope
52
+
53
+ Applies To
54
+
55
+ - artifacts whose `Current -> Current Schema` is `tiinex.workspace.representation.v1`
56
+
57
+ Rules
58
+
59
+ - `tiinex.workspace.representation.v1` identifies artifacts whose main job is to bind one explicit Workspace artifact to one explicit complete or bounded representation payload with deterministic byte-tree correlation and provider-qualification semantics.
60
+ - The binding is a typed non-Parent relation specialized from `tiinex.relation.v1`.
61
+ - The binding must remain readable and machine-extractable without package filenames, directory placement, ZIP adjacency, route labels, package membership, or hidden application state.
62
+ - A schema-valid binding may preserve a non-ready state such as `declared`, `stale`, or `unresolved`; schema validity alone does not authorize provider activation.
63
+ - Prose outside `Schema Validation Contract` may explain the schema, but it does not add required validation rules.
64
+
65
+ ### Parent Relation Specialization
66
+
67
+ Rules
68
+
69
+ - Workspace Representation artifacts specialize the inherited `Relation Body` for artifacts whose `Current -> Current Schema` is `tiinex.workspace.representation.v1`.
70
+ - The child body replaces the generic inherited `## Relation Declaration` and `## Relation Target` instance sections with `## Representation Binding` and `## Representation Correlation`.
71
+ - `## Representation Binding` owns the fixed relation predicate/direction plus the explicit Workspace and representation-payload endpoints.
72
+ - Conditional `## Representation Scope` owns intentional bounded-scope meaning when `Coverage` is `bounded`; it is forbidden as a substitute completeness claim.
73
+ - `## Representation Correlation` owns deterministic correlation between represented Workspace paths and representation-payload entries.
74
+ - `## Relation Boundary` preserves and narrows the inherited non-Parent boundary.
75
+ - `## Provider Qualification` and required `## Interpretation Limits` add relation-specific state and interpretation obligations.
76
+ - This specialization changes the artifact body contract only; it does not weaken Root continuity, integrity, schema-reference, Parent, or origin semantics.
77
+
78
+ ### Workspace Representation Body
79
+
80
+ Required Shape
81
+
82
+ - first body heading after the continuity envelope
83
+ - `## Representation Binding` section
84
+ - `## Representation Correlation` section
85
+ - `## Provider Qualification` section
86
+ - `## Relation Boundary` section
87
+ - `## Interpretation Limits` section
88
+
89
+ Optional Sections
90
+
91
+ - Representation Scope
92
+ - Evidence Basis
93
+ - Related Artifacts
94
+ - References
95
+
96
+ Rules
97
+
98
+ - A Workspace Representation artifact should begin with a human-readable title.
99
+ - Each required section must be readable without specialized tooling and structured enough that a consumer can preserve unresolved or non-ready state without guessing.
100
+ - Required sections must not be replaced by package-local control metadata or application state.
101
+ - `## Representation Scope` is conditionally required when `Coverage` is `bounded`, forbidden as a bounded-activation substitute when its required fields are absent, and optional/ordinarily omitted for `Coverage: complete`.
102
+
103
+ ### Representation Binding
104
+
105
+ Required Fields
106
+
107
+ - Workspace Artifact
108
+ - Representation Payload
109
+ - Representation Kind
110
+ - Coverage
111
+ - Binding State
112
+
113
+ Field Value Constraints
114
+
115
+ - Workspace Artifact
116
+ - Allowed Shape: Markdown Link
117
+ - Domain Policy: closed
118
+ - Representation Payload
119
+ - Allowed Shape: Markdown Link
120
+ - Domain Policy: closed
121
+ - Representation Kind
122
+ - Allowed Value: exact-workspace-byte-tree-archive
123
+ - Allowed Value: exact-bounded-workspace-byte-tree-archive
124
+ - Domain Policy: closed
125
+ - Coverage
126
+ - Allowed Value: complete
127
+ - Allowed Value: bounded
128
+ - Allowed Value: partial
129
+ - Allowed Value: unknown
130
+ - Domain Policy: closed
131
+ - Binding State
132
+ - Allowed Value: verified
133
+ - Allowed Value: declared
134
+ - Allowed Value: stale
135
+ - Allowed Value: unresolved
136
+ - Domain Policy: closed
137
+
138
+ Rules
139
+
140
+ - `Workspace Artifact` identifies exactly one explicit artifact intended to resolve as `tiinex.workspace.v1`; filename, package membership, directory, adjacency, route label, or archive basename must never substitute for this endpoint.
141
+ - `Representation Payload` identifies exactly one explicit artifact intended to resolve as `tiinex.external.payload.v1`; it is the owner of payload identity, location, media/format, integrity value, integrity target, access, and recovery semantics.
142
+ - `Representation Kind: exact-workspace-byte-tree-archive` means the payload is intended to carry a path-addressable complete Workspace byte-tree representation. It does not assert a maintained Archive or ZIP schema.
143
+ - `Representation Kind: exact-bounded-workspace-byte-tree-archive` means the payload is intended to carry a path-addressable intentionally bounded set of Workspace-relative byte-tree entries. It does not make the payload a Workspace artifact and does not claim omitted Workspace paths are absent from the source Workspace.
144
+ - `Coverage: complete` means the representation is intended to cover the complete Workspace byte tree required by this binding.
145
+ - `Coverage: bounded` means the representation intentionally covers exactly the qualified decoded representation-entry set under `## Representation Scope`; it is a positive scope claim, not an incomplete/unknown state and not a completeness claim.
146
+ - `partial` and `unknown` remain preserved non-ready states for provider activation and must not be reinterpreted as `bounded`.
147
+ - `Binding State: verified` is a current qualification claim and is contradictory when either endpoint, required scope when bounded, required correlation, decoder, payload integrity, coverage, or required comparison evidence is unresolved, stale, invalid, or mismatched.
148
+ - `declared`, `stale`, and `unresolved` preserve non-ready states and must not be promoted to `verified` from package placement, digest-string presence, successful decoding alone, or application convenience.
149
+ - The semantic relation direction is Workspace artifact -> representation payload. The payload is a representation of complete or bounded Workspace-tree bytes; it is not the Workspace artifact itself.
150
+
151
+ ### Representation Scope
152
+
153
+ Required When
154
+
155
+ - `Coverage` is `bounded`
156
+
157
+ Required Fields
158
+
159
+ - Scope Basis
160
+ - Included Entry Authority
161
+ - Omitted Entry Meaning
162
+ - Source Membership Claim
163
+ - Recovery Closure Boundary
164
+
165
+ Field Value Constraints
166
+
167
+ - Scope Basis
168
+ - Allowed Value: exact-representation-entry-set
169
+ - Domain Policy: closed
170
+ - Included Entry Authority
171
+ - Allowed Value: qualified-decoded-entry-set
172
+ - Domain Policy: closed
173
+ - Omitted Entry Meaning
174
+ - Allowed Value: outside-representation-not-absent-from-workspace
175
+ - Domain Policy: closed
176
+ - Source Membership Claim
177
+ - Allowed Value: represented-entries-are-workspace-relative-source-bytes
178
+ - Domain Policy: closed
179
+ - Recovery Closure Boundary
180
+ - Allowed Value: separate-qualified-closure
181
+ - Domain Policy: closed
182
+
183
+ Rules
184
+
185
+ - `Scope Basis: exact-representation-entry-set` means the bounded semantic scope is exactly the normalized representation entries yielded by the qualified payload, declared decoder, archive-entry root, and path mapping; package siblings, detached dependencies, cache entries, and outer transport files are not members merely because they are carried nearby.
186
+ - `Included Entry Authority: qualified-decoded-entry-set` means the included path set is derived only after payload integrity, decoder safety, path normalization, collision handling, and mapping qualify. A filename list, requested UI selection, manufacture plan, or outer file map alone is not bounded-scope authority.
187
+ - `Omitted Entry Meaning: outside-representation-not-absent-from-workspace` means a Workspace-relative path absent from the bounded representation is outside this representation only. Its absence must not be interpreted as proof that the path is absent from the source Workspace.
188
+ - `Source Membership Claim: represented-entries-are-workspace-relative-source-bytes` means this binding asserts that every bounded representation entry corresponds to the declared Workspace-relative path in the source Workspace scope qualified when the binding became `verified`; a consumer must preserve this as a bounded representation claim rather than promoting it to whole-Workspace completeness.
189
+ - `Recovery Closure Boundary: separate-qualified-closure` means Parent/recovery material carried outside the representation payload remains transport closure only. Detached recovery bytes do not become bounded Workspace members unless they are also entries of the representation payload and therefore part of the exact bounded scope.
190
+ - A bounded binding must include the bound Workspace artifact at `Workspace Artifact Inner Path` as one representation entry so the semantic Workspace endpoint remains directly correlated to the represented path set.
191
+ - Bounded scope must not be inferred from the difference between an archive and some unavailable source tree. `Coverage: bounded` requires this explicit scope section and the bounded-only provider contract below.
192
+ - A bounded representation may carry one, many, or all currently selected Workspace-relative source entries, but it remains `bounded` until a separately qualified complete-coverage contract proves `Coverage: complete`; accidental equality with a complete tree does not silently change coverage semantics.
193
+
194
+ ### Representation Correlation
195
+
196
+ Required Fields
197
+
198
+ - Workspace Tree Root
199
+ - Workspace Artifact Inner Path
200
+ - Archive Entry Root
201
+ - Path Mapping
202
+ - Collision Policy
203
+ - Decoder Requirement
204
+
205
+ Optional Fields
206
+
207
+ - Mapping Manifest
208
+ - Entry Integrity Manifest
209
+
210
+ Field Value Constraints
211
+
212
+ - Path Mapping
213
+ - Allowed Value: identity-relative-paths
214
+ - Allowed Value: manifest
215
+ - Domain Policy: closed
216
+ - Collision Policy
217
+ - Allowed Value: reject-ambiguous-or-unsafe-paths
218
+ - Domain Policy: closed
219
+ - Mapping Manifest
220
+ - Allowed Shape: Markdown Link
221
+ - Domain Policy: closed
222
+ - Entry Integrity Manifest
223
+ - Allowed Shape: Markdown Link
224
+ - Domain Policy: closed
225
+
226
+ Rules
227
+
228
+ - `Workspace Tree Root` identifies the logical root from which Workspace-relative paths are interpreted. `.` denotes the represented Workspace root.
229
+ - `Workspace Artifact Inner Path` is the exact Workspace-relative path at which the bound Workspace artifact must occur in the represented tree.
230
+ - `Archive Entry Root` is the exact representation-payload entry prefix corresponding to `Workspace Tree Root`; `.` denotes a root-preserving representation.
231
+ - Workspace and archive path fields must use normalized forward-slash relative path semantics. Absolute paths, drive-qualified paths, NUL-containing paths, `..` traversal, empty non-root paths, and entries that escape their declared root are invalid for provider qualification.
232
+ - `Path Mapping: identity-relative-paths` means every Workspace-relative path under `Workspace Tree Root` maps to the same normalized relative path below `Archive Entry Root`.
233
+ - `Path Mapping: manifest` requires `Mapping Manifest`; the referenced material must explicitly map Workspace-relative paths to representation entries. Identity fallback is forbidden when manifest mapping is declared.
234
+ - `Mapping Manifest` and `Entry Integrity Manifest`, when present, are explicit reference targets whose own schema/source/integrity authority must be qualified separately; the link itself does not prove manifest correctness.
235
+ - `Collision Policy: reject-ambiguous-or-unsafe-paths` requires rejection of duplicate normalized entries, multiple entries mapping to one Workspace-relative path, traversal or absolute entries, unsafe entry types, and case/Unicode-normalization ambiguity when the consuming environment cannot preserve a unique comparison.
236
+ - `Decoder Requirement` states the decoder/codec capability required to interpret the representation payload. Decoder availability, format compatibility, and safe-entry handling are qualification conditions. Consumers must not guess another decoder or representation when the declared requirement is unavailable.
237
+ - Whole-payload digest verification fixes the exact representation bytes only. Provider qualification must additionally validate the declared decoder, path mapping, bound Workspace inner entry, and the declared coverage-mode requirements.
238
+ - For `Coverage: bounded`, every qualified decoded representation entry is part of the bounded scope after mapping; consumers must not silently drop a decoded entry from semantic scope or silently add detached/package material to it.
239
+ - When verified payload bytes plus the declared decoder/mapping and exact bound Workspace comparison cannot establish required entry/tree identity, complete coverage when `complete`, or exact bounded-entry correlation when `bounded`, `Entry Integrity Manifest` or equivalent separately qualified integrity material is required; consumers must fail closed rather than infer equivalence.
240
+
241
+ ### Provider Qualification
242
+
243
+ Required Fields
244
+
245
+ - Activation Rule
246
+ - Payload Integrity Requirement
247
+ - Coverage Requirement
248
+ - Staleness Rule
249
+ - Selection Rule
250
+ - Multi-Workspace Isolation
251
+
252
+ Field Value Constraints
253
+
254
+ - Activation Rule
255
+ - Allowed Value: verified-complete-only
256
+ - Allowed Value: verified-bounded-only
257
+ - Domain Policy: closed
258
+ - Payload Integrity Requirement
259
+ - Allowed Value: verified-exact-payload-bytes
260
+ - Domain Policy: closed
261
+ - Coverage Requirement
262
+ - Allowed Value: complete
263
+ - Allowed Value: bounded
264
+ - Domain Policy: closed
265
+ - Staleness Rule
266
+ - Allowed Value: requalify-on-binding-relevant-change
267
+ - Domain Policy: closed
268
+ - Selection Rule
269
+ - Allowed Value: exactly-one-binding-per-workspace
270
+ - Allowed Value: explicit-binding-per-bounded-scope
271
+ - Domain Policy: closed
272
+ - Multi-Workspace Isolation
273
+ - Allowed Value: independent-binding-closure
274
+ - Domain Policy: closed
275
+
276
+ Rules
277
+
278
+ - `Activation Rule: verified-complete-only` permits an archive-backed complete Workspace provider to report ready only when one binding resolves exactly one Workspace artifact and exactly one Representation Payload, `Binding State` is `verified`, `Coverage` and `Coverage Requirement` are `complete`, `Representation Kind` is `exact-workspace-byte-tree-archive`, `Selection Rule` is `exactly-one-binding-per-workspace`, and every required correlation/integrity condition qualifies.
279
+ - `Activation Rule: verified-bounded-only` permits only a bounded Workspace-representation provider to report ready. It requires one explicit binding, `Binding State: verified`, `Coverage` and `Coverage Requirement` `bounded`, `Representation Kind: exact-bounded-workspace-byte-tree-archive`, required `## Representation Scope`, `Selection Rule: explicit-binding-per-bounded-scope`, and every required endpoint/scope/correlation/integrity condition to qualify.
280
+ - A `verified-bounded-only` provider must expose its coverage as bounded and must not advertise, materialize, alias, cache, or serialize the result as a complete Workspace snapshot merely because all requested paths resolved successfully.
281
+ - `Payload Integrity Requirement: verified-exact-payload-bytes` requires the resolved External Payload's `Integrity Status` and `Integrity Target` to qualify the exact representation bytes actually used. The digest value remains owned by the External Payload and must not be duplicated into this binding merely for convenience.
282
+ - `Coverage Requirement: complete` preserves the existing complete Workspace-byte-tree provider contract. `Coverage Requirement: bounded` requires the exact qualified decoded entry set and bounded scope semantics above without any whole-Workspace completeness claim. `partial` and `unknown` never satisfy either activation rule.
283
+ - `Staleness Rule: requalify-on-binding-relevant-change` means a changed bound Workspace representation, changed representation payload digest/integrity target, changed coverage/scope declaration, changed mapping, changed required inner path/root, changed decoder requirement, changed required manifest, or another canonical binding-relevant change makes the prior verified state stale or unresolved until requalified.
284
+ - `Selection Rule: exactly-one-binding-per-workspace` blocks competing ready complete bindings for the same Workspace unless a separate canonical selection authority explicitly resolves the competition.
285
+ - `Selection Rule: explicit-binding-per-bounded-scope` permits multiple different bounded bindings for one Workspace because each binding may carry a different exact scope; a consumer must select the exact Workspace Representation artifact through explicit Handoff/package/reference authority and must not choose a bounded binding from Workspace identity, filename, adjacency, archive basename, or path similarity alone.
286
+ - `Multi-Workspace Isolation: independent-binding-closure` means a qualified binding for Workspace A has no authority for Workspace B, even when payload bytes, filenames, layouts, or source repositories are identical.
287
+ - Provider activation must fail closed on duplicate or ambiguous Workspace identity; incompatible activation/coverage/representation-kind/selection-rule combinations; competing complete bindings without canonical selection authority; bounded activation without an explicitly selected exact binding; missing required bounded scope; missing, stale, unresolved, or schema-invalid binding; missing or schema-invalid External Payload; unavailable or disallowed decoder; payload digest mismatch or wrong integrity target; missing or wrong bound Workspace inner entry; mismatch between exact bound inner Workspace bytes and the referenced Workspace representation when comparison is available or required; duplicate normalized paths; traversal, absolute, or unsafe entries; path/mapping collisions; missing required Mapping Manifest or Entry Integrity Manifest; incomplete required complete coverage; unqualified bounded entry-set correlation; or a binding resolved only through filename, directory, adjacency, route label, package path, or package membership.
288
+ - A bare checksum-string equality, successful archive open, successful path lookup, or successful transport does not satisfy the provider qualification contract by itself.
289
+
290
+ ### Relation Boundary
291
+
292
+ Required Fields
293
+
294
+ - Parent Boundary
295
+ - Workspace Identity Boundary
296
+ - Payload Identity Boundary
297
+ - Transport Boundary
298
+ - Outer Integrity Boundary
299
+
300
+ Rules
301
+
302
+ - `Parent Boundary` must state that neither endpoint is a Tiinex `Parent` merely because this representation binding exists.
303
+ - `Workspace Identity Boundary` must preserve the Workspace artifact as the semantic Workspace identity and must not allow the payload, archive filename, inner path, package route, or transport to replace it.
304
+ - `Payload Identity Boundary` must preserve External Payload authority over representation payload identity and exact payload-byte integrity.
305
+ - `Transport Boundary` must state that package-local location, Repository Transport, Handoff transport, decoder success, retrieval mechanics, and detached Parent/recovery closure are separate from this semantic binding.
306
+ - `Outer Integrity Boundary` must state that this relation does not replace separately owned outer-package exact-file/tamper authority such as `tiinex.package/file-map.json`.
307
+ - Preservation/custody semantics may be represented by a separate `tiinex.preservation.v1` artifact when independently meaningful; preservation is not implied by every Workspace Representation binding.
308
+
309
+ ### Interpretation Limits
310
+
311
+ Required Fields
312
+
313
+ - Does Not Prove
314
+ - Must Not Be Used As
315
+
316
+ Optional Fields
317
+
318
+ - Preservation Boundary
319
+ - Repository Transport Boundary
320
+ - Source Boundary
321
+ - Open Questions
322
+
323
+ Rules
324
+
325
+ - Payload integrity and verified binding state do not prove semantic correctness, provenance, authorship, acceptance, completion, source identity, permission, consent, or truth.
326
+ - The representation payload must not be interpreted as the Workspace artifact itself or as a continuity Parent.
327
+ - Repository source/transport semantics, optional preservation semantics, Handoff lifecycle truth, recipient addressing, package-parent lineage, START/Pointer behavior, and outer-package tamper authority remain separately owned.
328
+ - Unknown or unavailable companion authority must remain unresolved rather than being repaired from path, filename, host, repository, branch, package location, or similar heuristics.
329
+ - `Coverage: bounded` means only that this representation has one exact intentional scope. It must not be used to claim the source Workspace is itself partial, that omitted entries do not exist, that all Workspace sources are present, or that the bounded payload is a substitute Workspace artifact.
330
+ - Detached Parent/recovery closure may make represented artifacts recoverable without becoming part of the bounded Workspace representation; transport recovery authority and representation membership must remain separate.
331
+
332
+ ### File Naming
333
+
334
+ Allowed Shapes
335
+
336
+ - `<lineage>.trace.md`
337
+ - `<lineage>-workspace-representation.trace.md`
338
+ - `<lineage>-<workspace-representation-slug>.trace.md`
339
+
340
+ Rules
341
+
342
+ - Workspace Representation artifacts should keep the lineage label first.
343
+ - The optional slug should identify the bounded represented Workspace/payload binding rather than a low-signal transport detail.
344
+ - Workspace Representation artifacts should keep the `.trace.md` suffix stable.
345
+
346
+ ### Interpretation Boundaries
347
+
348
+ Rules
349
+
350
+ - Use `tiinex.workspace.representation.v1` when the main artifact value is one explicit Workspace-to-representation binding with deterministic correlation and qualification semantics.
351
+ - Do not use this schema to replace `tiinex.workspace.v1`, `tiinex.external.payload.v1`, `tiinex.preservation.v1`, repository transport semantics, Handoff semantics, source/provenance semantics, or package-wide integrity ownership.
352
+ - Do not use this schema for generic relations that do not require the specialized Workspace representation contract; use `tiinex.relation.v1` or another owning schema instead.
353
+ - Do not infer maintained Archive or ZIP schema semantics from `Representation Kind`, payload media type, file extension, or decoder requirement.
354
+ - Do not use `tiinex.semantic.package.v1`, `tiinex.external.payload.v1`, or generic `tiinex.relation.v1` alone to imply bounded Workspace-provider activation: Semantic Package owns package discovery, External Payload owns payload reference/integrity, and generic Relation lacks this specialized Workspace scope/correlation contract.
355
+
356
+ ## Artifact Creation Contract
357
+
358
+ ### Creation Fields
359
+
360
+ Required Fields
361
+
362
+ - Workspace Artifact
363
+ - Representation Payload
364
+ - Representation Kind
365
+ - Coverage
366
+ - Binding State
367
+ - Workspace Tree Root
368
+ - Workspace Artifact Inner Path
369
+ - Archive Entry Root
370
+ - Path Mapping
371
+ - Collision Policy
372
+ - Decoder Requirement
373
+ - Activation Rule
374
+ - Payload Integrity Requirement
375
+ - Coverage Requirement
376
+ - Staleness Rule
377
+ - Selection Rule
378
+ - Multi-Workspace Isolation
379
+ - Parent Boundary
380
+ - Workspace Identity Boundary
381
+ - Payload Identity Boundary
382
+ - Transport Boundary
383
+ - Outer Integrity Boundary
384
+ - Does Not Prove
385
+ - Must Not Be Used As
386
+
387
+ Optional Fields
388
+
389
+ - Scope Basis
390
+ - Included Entry Authority
391
+ - Omitted Entry Meaning
392
+ - Source Membership Claim
393
+ - Recovery Closure Boundary
394
+ - Mapping Manifest
395
+ - Entry Integrity Manifest
396
+ - Preservation Boundary
397
+ - Repository Transport Boundary
398
+ - Source Boundary
399
+ - Open Questions
400
+
401
+ ### Creation Rules
402
+
403
+ Rules
404
+
405
+ - Creation tools must require both semantic endpoints explicitly and must not derive them from archive filename, directory placement, package membership, route labels, or adjacency.
406
+ - Creation tools should preserve `declared`, `stale`, or `unresolved` when verification evidence is incomplete rather than fabricating `verified`.
407
+ - Creation tools must not copy volatile External Payload digest/location fields into the binding solely to make provider resolution easier.
408
+ - `Coverage: bounded` requires `Representation Kind: exact-bounded-workspace-byte-tree-archive`, all `## Representation Scope` fields, `Activation Rule: verified-bounded-only`, `Coverage Requirement: bounded`, and `Selection Rule: explicit-binding-per-bounded-scope`.
409
+ - `Coverage: complete` with provider activation requires `Representation Kind: exact-workspace-byte-tree-archive`, `Activation Rule: verified-complete-only`, `Coverage Requirement: complete`, and `Selection Rule: exactly-one-binding-per-workspace`; existing complete bindings do not need a `## Representation Scope` section.
410
+ - `partial` and `unknown` must remain non-ready and must not be emitted as shortcuts for intentional bounded export.
411
+ - `Mapping Manifest` is required when `Path Mapping` is `manifest`.
412
+ - `Entry Integrity Manifest` is required when the chosen decoder/mapping plus verified whole-payload integrity and exact Workspace comparison cannot establish required entry/tree identity, complete coverage for complete activation, or exact bounded-entry correlation for bounded activation.
413
+ - Direct creation of a `verified` binding should require the same endpoint, scope when bounded, decoder, mapping, integrity, entry, coverage, and collision checks that provider activation requires.
414
+
415
+ ## Minimal Example
416
+
417
+ ```md
418
+ # Tiinex Site Workspace Representation
419
+
420
+ ## Representation Binding
421
+
422
+ - Workspace Artifact: [Tiinex Site Workspace](tiinex-site.workspace.md)
423
+ - Representation Payload: [Tiinex Site Workspace Archive Payload](tiinex-site-workspace-payload.trace.md)
424
+ - Representation Kind: exact-workspace-byte-tree-archive
425
+ - Coverage: complete
426
+ - Binding State: verified
427
+
428
+ ## Representation Correlation
429
+
430
+ - Workspace Tree Root: .
431
+ - Workspace Artifact Inner Path: .topics/.workspaces/tiinex-site.workspace.md
432
+ - Archive Entry Root: .
433
+ - Path Mapping: identity-relative-paths
434
+ - Collision Policy: reject-ambiguous-or-unsafe-paths
435
+ - Decoder Requirement: ZIP decoder with safe-entry validation
436
+
437
+ ## Provider Qualification
438
+
439
+ - Activation Rule: verified-complete-only
440
+ - Payload Integrity Requirement: verified-exact-payload-bytes
441
+ - Coverage Requirement: complete
442
+ - Staleness Rule: requalify-on-binding-relevant-change
443
+ - Selection Rule: exactly-one-binding-per-workspace
444
+ - Multi-Workspace Isolation: independent-binding-closure
445
+
446
+ ## Relation Boundary
447
+
448
+ - Parent Boundary: neither endpoint becomes Parent through this representation relation
449
+ - Workspace Identity Boundary: the referenced Workspace artifact remains the semantic Workspace identity
450
+ - Payload Identity Boundary: the referenced External Payload owns archive identity and exact payload-byte integrity
451
+ - Transport Boundary: package location, archive adjacency, repository transport, and decoder success are not binding authority
452
+ - Outer Integrity Boundary: package-wide exact-file/tamper authority remains separately owned
453
+
454
+ ## Interpretation Limits
455
+
456
+ - Does Not Prove: semantic correctness, provenance, authorship, acceptance, completion, source identity, permission, consent, or truth
457
+ - Must Not Be Used As: a replacement for Workspace identity, External Payload authority, Parent continuity, repository transport, preservation, Handoff state, or package-wide integrity authority
458
+ ```
459
+
460
+ A bounded export uses the same semantic endpoints but must declare bounded scope and bounded-only activation:
461
+
462
+ ```md
463
+ # Tiinex Site Workspace Bounded Representation
464
+
465
+ ## Representation Binding
466
+
467
+ - Workspace Artifact: [Tiinex Site Workspace](tiinex-site.workspace.md)
468
+ - Representation Payload: [Selected Site Workspace Bytes](tiinex-site-bounded-workspace-payload.trace.md)
469
+ - Representation Kind: exact-bounded-workspace-byte-tree-archive
470
+ - Coverage: bounded
471
+ - Binding State: verified
472
+
473
+ ## Representation Scope
474
+
475
+ - Scope Basis: exact-representation-entry-set
476
+ - Included Entry Authority: qualified-decoded-entry-set
477
+ - Omitted Entry Meaning: outside-representation-not-absent-from-workspace
478
+ - Source Membership Claim: represented-entries-are-workspace-relative-source-bytes
479
+ - Recovery Closure Boundary: separate-qualified-closure
480
+
481
+ ## Representation Correlation
482
+
483
+ - Workspace Tree Root: .
484
+ - Workspace Artifact Inner Path: .topics/.workspaces/tiinex-site.workspace.md
485
+ - Archive Entry Root: .
486
+ - Path Mapping: identity-relative-paths
487
+ - Collision Policy: reject-ambiguous-or-unsafe-paths
488
+ - Decoder Requirement: ZIP decoder with safe-entry validation
489
+
490
+ ## Provider Qualification
491
+
492
+ - Activation Rule: verified-bounded-only
493
+ - Payload Integrity Requirement: verified-exact-payload-bytes
494
+ - Coverage Requirement: bounded
495
+ - Staleness Rule: requalify-on-binding-relevant-change
496
+ - Selection Rule: explicit-binding-per-bounded-scope
497
+ - Multi-Workspace Isolation: independent-binding-closure
498
+
499
+ ## Relation Boundary
500
+
501
+ - Parent Boundary: neither endpoint becomes Parent through this representation relation
502
+ - Workspace Identity Boundary: the referenced Workspace artifact remains the semantic Workspace identity
503
+ - Payload Identity Boundary: the referenced External Payload owns archive identity and exact payload-byte integrity
504
+ - Transport Boundary: package location, archive adjacency, repository transport, detached recovery closure, and decoder success are not binding authority
505
+ - Outer Integrity Boundary: package-wide exact-file/tamper authority remains separately owned
506
+
507
+ ## Interpretation Limits
508
+
509
+ - Does Not Prove: whole-Workspace completeness, absence of omitted source paths, semantic correctness, provenance, authorship, acceptance, completion, source identity, permission, consent, or truth
510
+ - Must Not Be Used As: a complete Workspace snapshot, a replacement for Workspace identity, External Payload authority, Parent continuity, repository transport, preservation, Handoff state, or package-wide integrity authority
511
+ ```
512
+
513
+ ## Validation-Friendly Shape
514
+
515
+ Keep this schema note in the exact section order already used here:
516
+ `Summary`, `Schema Validation Contract`, `Artifact Creation Contract`,
517
+ `Minimal Example`, `Validation-Friendly Shape`, and `Interpretation Notes`.
518
+
519
+ Maintain those section headings exactly in this schema note. Free markdown inside
520
+ those sections is allowed, but adding undeclared new second-level section
521
+ headings should be treated as schema drift.
522
+
523
+ The required artifact body headings are `## Representation Binding`,
524
+ `## Representation Correlation`, `## Provider Qualification`,
525
+ `## Relation Boundary`, and `## Interpretation Limits`. `## Representation Scope`
526
+ is additionally required when `Coverage` is `bounded` and is ordinarily omitted
527
+ for `Coverage: complete`.
528
+
529
+ ## Interpretation Notes
530
+
531
+ - final schema id: `tiinex.workspace.representation.v1`
532
+ - canonical family: relation-owned specialization of `tiinex.relation.v1`, not a Workspace-field extension
533
+ - canonical path: `.topics/.schemas/relation/workspace/representation/tiinex.workspace.representation.v1.schema.md`
534
+ - External Payload continues to own exact representation bytes, digest, location, media/format, access, and recovery context
535
+ - existing complete coverage semantics remain unchanged: complete activation still requires a verified, non-stale complete binding
536
+ - intentional scoped export uses distinct `Coverage: bounded` plus `verified-bounded-only`; `partial` and `unknown` remain non-ready
537
+ - bounded provider activation exposes only the exact qualified decoded representation-entry set and must never report whole-Workspace completeness
538
+ - detached Parent/recovery closure remains transport material unless the same bytes are also explicit representation-payload entries
539
+ - exact whole-payload integrity does not remove the need to qualify decoder, mapping, collisions, the bound Workspace inner entry, and coverage
540
+ - per-entry/tree integrity material is conditional, not duplicated by default
541
+ - package-local and repository-transport facts remain separate from semantic binding authority
542
+ - `tiinex.archive.v1` and `tiinex.zip.v1` remain unclaimed while reserved-only
543
+
544
+ ---
545
+
546
+ # Continuity Integrity
547
+
548
+ - [sha256-base64url-c14n-v2](https://github.com/Tiinex/docs/blob/3988951208eb9a8926e84ab42625d4b42fa00c2d/.topics/.validators/sha256-base64url-c14n-v2.validator.md)
549
+ - Towards: self
550
+ - Value: ZnL0uFsniOfLKBLp7X3NUDDS8RobgJ1tx_Op9oiYs6c