PM portal 内で表示する正本文書の一覧です。
docs/Tatekan/control/tatekan_control_basic_design.mdBasic Designdocs/Tatekan/control/tatekan_control_spec_draft.mdSpec Draftdocs/Tatekan/control/tatekan_control_requirements_draft.mdRequirements Draft
Private / PM Only
Access Protected
Control のアーキテクチャ、設計、仕様、要求定義を PM portal 内で参照するためのページです。
PM portal 内で表示する正本文書の一覧です。
docs/Tatekan/control/tatekan_control_basic_design.mdBasic Designdocs/Tatekan/control/tatekan_control_spec_draft.mdSpec Draftdocs/Tatekan/control/tatekan_control_requirements_draft.mdRequirements DraftControl は TATEKANOS を構成する要素です。このページでは現在の正本文書を PM portal 内で参照できます。
Source
docs/Tatekan/control/tatekan_control_basic_design.md
Date: 2026-03-10 JST
Status: Draft v0.1
Recommended baseline:
FastAPIThis aligns Con with the Toriteki stack, avoids unnecessary relational constraints for the current single-tenant phase, and removes the need to keep a Cloud SQL instance running only for Con.
Con is the control plane.
It stores:
It does not store:
It must, however, store enough policy to explain:
Con should not be the default executor of sync jobs or diff-calculation workers.
Those should run in app-local jobs or a dedicated integration service, and only publish status into Con.
Recommended primary entity kinds:
control_tenantscontrol_tenant_appscontrol_app_relation_policiescontrol_source_policiescontrol_numbering_policiescontrol_master_policiescontrol_sync_statuscontrol_conflictscontrol_governance_eventsPhase 1 assumes tenant-scoped entities keyed around tenant_id, with embedded or denormalized properties where practical rather than cross-kind foreign-key joins.
If Core is enabled for a tenant:
Con may designate Core as source of truth for:Core remains the parent owner for:
If Mitsumori is enabled:
Con governs whether Mitsumori uses:Mitsumori remains the owner for:
Mitsumori must not become the owner of:
If Toriteki is enabled:
Con governs whether Toriteki uses:Toriteki remains the owner for:
Toriteki must not become the owner of:
Recommended boundary baseline:
caseCore if enabledquotationMitsumorivendor estimate requestToritekiorderToriteki for workflowCore when linked to the commercial casecontractCoresales / customer billing / paymentCorevendor-side billing workflowToritekiThis means Con must model both object ownership and cross-reference links.
Recommended initial policy modes:
core_parentCore is enabled and acts as the parent source of truthcore_linked_dualCore plus one app is enabled and linkeddual_app_linkedToriteki and Mitsumori are enabled without Core, sharing agreed reference keysapp_localshared_canonicalRecommended sync status values:
okdriftconflictneeds_reviewdisabledmigration_pendingExamples of governance events:
All governance events should be auditable.
For 合同産業, Con must support:
Core = enabledToriteki = enabledMitsumori = enabledThis is the most demanding initial composition and should be treated as the reference design.
Con must also support:
Toriteki onlyMitsumori onlyToriteki + MitsumoriCore + MitsumoriCore + ToritekiCore onlyThis means Core-first is allowed, but Core-required is not.
For these future tenants, Con must define:
CoreIf Core is not enabled, the active app must still be usable.
Therefore:
Mitsumori only must have local minimal masters for quotation creationToriteki only must have local minimal masters for ordering workflowToriteki + Mitsumori must have either:ConCon does not need to become a full business MDM in Phase 1, but it must make this policy explicit.
Recommended initial decision:
designated_parent_appshared_registry should remain a future option, not the defaultRecommended rationale:
Con as a control plane rather than a new operational master systemCore-linked modeRecommended practical rule:
Mitsumori if the tenant's work usually begins with preparing quotationsToriteki if the tenant's work usually begins with vendor requests, ordering, delivery, or inspection controlRecommended evaluation factors:
CoreRecommended implementation behavior:
Con should require an explicit selection, not infer it silentlyCon should store the reason textCon should allow later reassessment before the tenant moves to Core-linked modeImportant note:
designated_parent_app means a practical host for shared references in standalone dual-app modeRecommended initial decision:
Con should not own user authentication in Phase 1Con should not become the primary membership directory in Phase 1Con should instead store:
Recommended rationale:
Con should first stabilize tenant composition and cross-app governanceCore-linked modeCon later needs centralized identity or only federation hooksCon policy scope as a distinct phase-2 object familyMARCURY handoff events should be surfaced as governance visibility for the first tenant基本設計書でカバーしています。
Source
docs/Tatekan/control/tatekan_control_spec_draft.md
Date: 2026-03-10 JST
Status: Draft v0.1
This draft fixes the minimum functional surface for TATEKAN Control.
Phase 1 storage baseline:
ConCoreToritekiMitsumoriGET /api/control/tenantsPOST /api/control/tenantsGET /api/control/tenants/{tenant_id}PATCH /api/control/tenants/{tenant_id}GET /api/control/tenants/{tenant_id}/appsPATCH /api/control/tenants/{tenant_id}/appsGET /api/control/tenants/{tenant_id}/policiesPATCH /api/control/tenants/{tenant_id}/policiesGET /api/control/tenants/{tenant_id}/app-boundariesPATCH /api/control/tenants/{tenant_id}/app-boundariesGET /api/control/tenants/{tenant_id}/composition-previewGET /api/control/tenants/{tenant_id}/sync-statusGET /api/control/tenants/{tenant_id}/conflictsPOST /api/control/tenants/{tenant_id}/conflicts/{conflict_id}/reviewGET /api/control/tenants/{tenant_id}/governance-eventsThe following are recommended entity kinds and core properties for the Datastore model.
control_tenantstenant_idtenant_namestatuscreated_atupdated_atcontrol_tenant_appstenant_idcore_enabledtoriteki_enabledmitsumori_enabledcomposition_modeownership_policy_modecontrol_app_relation_policiestenant_iddesignated_parent_appdesignated_parent_reasoncase_ownerquotation_ownervendor_estimate_ownerorder_ownerdelivery_ownerinspection_ownercontract_ownercustomer_billing_ownervendor_billing_workflow_ownerstandalone_reference_modefuture_core_link_intentcontrol_source_policiestenant_idcase_sourcecustomer_sourcesupplier_sourcebuilding_sourcedepartment_sourcecontrol_numbering_policiestenant_idcase_number_sourcequotation_number_sourceorder_number_sourcecontract_number_sourcebilling_number_sourcecontrol_sync_statustenant_idobject_typesource_systemtarget_systemstatuslast_synced_atcontrol_conflictstenant_idobject_typeobject_keysource_systemtarget_systemconflict_typestatusdetected_atcasecustomersupplierbuildingdepartmentquotationvendor_estimate_requestorderdeliveryinspectioncontractcustomer_billingvendor_billing_workflowImplementation note:
full_linkedcore_linked_dualdual_app_linkedstandaloneMeaning:
full_linkedcore_linked_dualCore plus one app is enabled and linkeddual_app_linkedToriteki and Mitsumori are enabled without Corestandalonecore_parentdesignated_parent_appapp_localMeaning:
core_parentCore is the parent source of truth for shared referencesdesignated_parent_appapp_localcoretoritekimitsumorilocalsharedapp_localshared_registrydesignated_parent_appRecommended Phase 1 default:
designated_parent_appRecommended usage:
designated_parent_app for Toriteki + Mitsumori tenants without Coreshared_registry for a later phase if standalone cross-app reference needs become too complexRecommended selection baseline:
mitsumori for quotation-led tenantstoriteki for ordering / delivery / inspection-led tenantsImportant note:
designated_parent_app is a shared-reference host choice in standalone dual-app modeopenreviewingresolvedignoreddelegated_app_membershipfederated_laterRecommended Phase 1 default:
delegated_app_membershipCon should be explainable in the PM portal in one page.
The portal explanation should include:
Con existsCore, Toriteki, and MitsumoriCore-first does not mean Core-required案件 / 見積 / 受発注 / 契約 / 請求 are intentionally owned by different appsSource
docs/Tatekan/control/tatekan_control_requirements_draft.md
Date: 2026-03-10 JST
Status: Draft v0.1
TATEKAN Control is the tenant-control and configuration app for the TATEKAN platform.
It is responsible for:
It is not a transaction-processing system for day-to-day business operations.
Con must manage tenants as first-class entities.TATEKAN CoreToritekiMitsumoriCon must support tenants that use only one app.Con must support tenants that use any two-app combination.Con must support full linked mode across all three apps.Con must not assume Core is always enabled.Con must allow superadmin users to decide, per tenant:
Core is the parent source of truthAt minimum, Con must govern policy for:
Con must explicitly model which app is responsible for which business object.
Minimum baseline:
TATEKAN CoreMitsumoriToritekiCon must not leave these boundaries implicit.
Con must treat the following as different objects:
CoreToritekiCon must support both:
Core is enabled and parent references are sharedToriteki or Mitsumori operate without CoreFor standalone tenants, Con must support policy for local minimal masters and local object numbering.
Con must support future transition cases such as:
Mitsumori only -> Core + MitsumoriToriteki only -> Core + ToritekiToriteki + Mitsumori -> Core + Toriteki + MitsumoriThis means Con must preserve enough policy metadata to describe:
Con must record or display:
Con must support policy controls such as:
Minimum role baseline:
Superadmin actions must be auditable.
Recommended initial choices:
Toriteki + Mitsumori without Core, Con should default to designated_parent_appCon should not become a shared full master registry in Phase 1Con should not own user authentication or membership in Phase 1If a tenant uses Toriteki + Mitsumori without Core, Con must require an explicit designated_parent_app decision.
Recommended selection baseline:
Mitsumori when the tenant's practical starting point is quotation creationToriteki when the tenant's practical starting point is vendor coordination, ordering, delivery, or inspection workflowSelection should be based on at least:
Important note:
designated_parent_app is a shared-reference host choice for standalone dual-app tenantsCoreToritekiMitsumoriAt minimum, policy must cover:
At minimum, policy must cover:
Con must allow explicit per-tenant ownership policy for at least:
For tenants that do not enable Core, Con must allow the enabled app to define local minimal masters for:
Con must also record whether the tenant intends future migration into Core-linked mode.
Con must show and record, for Toriteki + Mitsumori tenants without Core:
CoreCon must remain lightweight enough to operate as a control planeCon into becoming an identity platform too earlyCon itselfThe planning baseline is acceptable when: