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