diff --git a/README.md b/README.md index 49b4077..7d8bf8e 100644 --- a/README.md +++ b/README.md @@ -93,3 +93,9 @@ Task, PURPOSES, CARING, and the `small-saas` profile. `railiance-fabric` adds conformance support for graph-oriented entity and edge capture, including mapping expectations and visualization examples that separate canonical relationships from display-only graph edges. + +`repo-scoping` adds a canon comparison and extension pack for repository intent, +current scope, future scope, consumer purposes, review decisions, evidence, +source observations, utility relationships, scope freshness, and SCOPE.md as an +interface profile. The pack is intended to seed the consumer-side repo-scoping +workplan while keeping proposed canon extensions reviewable. diff --git a/infospace/agent/briefs/comparison-repo-scoping-canon-benefit-analysis.md b/infospace/agent/briefs/comparison-repo-scoping-canon-benefit-analysis.md new file mode 100644 index 0000000..113e386 --- /dev/null +++ b/infospace/agent/briefs/comparison-repo-scoping-canon-benefit-analysis.md @@ -0,0 +1,29 @@ +--- +id: agent-brief/comparison-repo-scoping-canon-benefit-analysis +artifact_id: comparison/repo-scoping/canon-benefit-analysis +source_path: evaluations/repo-scoping/canon-benefit-analysis.yaml +source_kind: benefit-analysis +generated: true +--- + + + +# Agent Brief: Repo Scoping Canon Benefit Analysis + +- Artifact ID: `comparison/repo-scoping/canon-benefit-analysis` +- Kind: `benefit-analysis` +- Canonical path: `evaluations/repo-scoping/canon-benefit-analysis.yaml` +- Full source: `evaluations/repo-scoping/canon-benefit-analysis.yaml` +- Summary: Consumer benefit analysis against canon surfaces: Repo Scoping Canon Benefit Analysis. + +## Retrieval Hints + +No imports or anchors recorded. + +## Owned Concepts + +- `Repo Scoping Canon Benefit Analysis` + +## Related Distinctions + +No common distinction is anchored directly on this artifact. diff --git a/infospace/agent/briefs/comparison-repo-scoping-consumer-workplan-brief.md b/infospace/agent/briefs/comparison-repo-scoping-consumer-workplan-brief.md new file mode 100644 index 0000000..526de96 --- /dev/null +++ b/infospace/agent/briefs/comparison-repo-scoping-consumer-workplan-brief.md @@ -0,0 +1,30 @@ +--- +id: agent-brief/comparison-repo-scoping-consumer-workplan-brief +artifact_id: comparison/repo-scoping/consumer-workplan-brief +source_path: evaluations/repo-scoping/consumer-workplan-brief.md +source_kind: consumer-workplan-brief +generated: true +--- + + + +# Agent Brief: Repo Scoping Consumer Workplan Brief + +- Artifact ID: `comparison/repo-scoping/consumer-workplan-brief` +- Kind: `consumer-workplan-brief` +- Canonical path: `evaluations/repo-scoping/consumer-workplan-brief.md` +- Full source: `evaluations/repo-scoping/consumer-workplan-brief.md` +- Summary: Consumer repo workplan seed brief: Repo Scoping Consumer Workplan Brief. + +## Retrieval Hints + +Imports and anchors: +- `model/purpose-demand-extension` + +## Owned Concepts + +- `Repo Scoping Consumer Workplan Brief` + +## Related Distinctions + +No common distinction is anchored directly on this artifact. diff --git a/infospace/agent/briefs/comparison-repo-scoping-extension-candidates.md b/infospace/agent/briefs/comparison-repo-scoping-extension-candidates.md new file mode 100644 index 0000000..a059a84 --- /dev/null +++ b/infospace/agent/briefs/comparison-repo-scoping-extension-candidates.md @@ -0,0 +1,29 @@ +--- +id: agent-brief/comparison-repo-scoping-extension-candidates +artifact_id: comparison/repo-scoping/extension-candidates +source_path: evaluations/repo-scoping/extension-candidates.yaml +source_kind: extension-candidate-set +generated: true +--- + + + +# Agent Brief: Repo Scoping Canon Extension Candidates + +- Artifact ID: `comparison/repo-scoping/extension-candidates` +- Kind: `extension-candidate-set` +- Canonical path: `evaluations/repo-scoping/extension-candidates.yaml` +- Full source: `evaluations/repo-scoping/extension-candidates.yaml` +- Summary: Reviewable canon extension candidate set: Repo Scoping Canon Extension Candidates. + +## Retrieval Hints + +No imports or anchors recorded. + +## Owned Concepts + +- `Repo Scoping Canon Extension Candidates` + +## Related Distinctions + +No common distinction is anchored directly on this artifact. diff --git a/infospace/agent/briefs/comparison-repo-scoping-frame.md b/infospace/agent/briefs/comparison-repo-scoping-frame.md new file mode 100644 index 0000000..5a1252b --- /dev/null +++ b/infospace/agent/briefs/comparison-repo-scoping-frame.md @@ -0,0 +1,32 @@ +--- +id: agent-brief/comparison-repo-scoping-frame +artifact_id: comparison/repo-scoping/frame +source_path: evaluations/repo-scoping/comparison-frame.yaml +source_kind: comparison-frame +generated: true +--- + + + +# Agent Brief: Repo Scoping Canon Comparison Frame + +- Artifact ID: `comparison/repo-scoping/frame` +- Kind: `comparison-frame` +- Canonical path: `evaluations/repo-scoping/comparison-frame.yaml` +- Full source: `evaluations/repo-scoping/comparison-frame.yaml` +- Summary: Structured comparison questions and domains: Repo Scoping Canon Comparison Frame. + +## Retrieval Hints + +Imports and anchors: +- `model/governance` +- `model/purpose-demand-extension` +- `model/task` + +## Owned Concepts + +- `Repo Scoping Canon Comparison Frame` + +## Related Distinctions + +No common distinction is anchored directly on this artifact. diff --git a/infospace/agent/briefs/comparison-repo-scoping-report.md b/infospace/agent/briefs/comparison-repo-scoping-report.md new file mode 100644 index 0000000..a36ea1d --- /dev/null +++ b/infospace/agent/briefs/comparison-repo-scoping-report.md @@ -0,0 +1,33 @@ +--- +id: agent-brief/comparison-repo-scoping-report +artifact_id: comparison/repo-scoping/report +source_path: evaluations/repo-scoping/comparison-report.md +source_kind: comparison-report +generated: true +--- + + + +# Agent Brief: Repo Scoping Canon Comparison Report + +- Artifact ID: `comparison/repo-scoping/report` +- Kind: `comparison-report` +- Canonical path: `evaluations/repo-scoping/comparison-report.md` +- Full source: `evaluations/repo-scoping/comparison-report.md` +- Summary: Canon-side comparison report: Repo Scoping Canon Comparison Report. + +## Retrieval Hints + +Imports and anchors: +- `model/governance` +- `model/information-space` +- `model/task` +- `pattern/intent-scope-purposes` + +## Owned Concepts + +- `Repo Scoping Canon Comparison Report` + +## Related Distinctions + +No common distinction is anchored directly on this artifact. diff --git a/infospace/agent/consumer-briefs/repo-scoping.md b/infospace/agent/consumer-briefs/repo-scoping.md index c079920..7552200 100644 --- a/infospace/agent/consumer-briefs/repo-scoping.md +++ b/infospace/agent/consumer-briefs/repo-scoping.md @@ -20,6 +20,10 @@ Compare repo-scoping concepts with canon INTENT, SCOPE, PURPOSES, and interface- - `patterns/intent-scope-purposes.md` - `examples/consumer-purpose-portfolio.yaml` - `views/by-concept.md` +- `evaluations/repo-scoping/comparison-report.md` +- `evaluations/repo-scoping/comparison-frame.yaml` +- `evaluations/repo-scoping/canon-benefit-analysis.yaml` +- `evaluations/repo-scoping/extension-candidates.yaml` - `models/governance/InfoTechCanonPurposeDemandExtension.md` - `patterns/intent-scope-purposes.md` - `agent/templates/canon-interface-card.template.yaml` diff --git a/infospace/agent/global-agent-brief.md b/infospace/agent/global-agent-brief.md index e064152..aa8fa8f 100644 --- a/infospace/agent/global-agent-brief.md +++ b/infospace/agent/global-agent-brief.md @@ -5,8 +5,8 @@ This brief summarizes the current canon service surface for agents. - Infospace slug: `canon` -- Artifact count: 44 -- Retrieval index items: 44 +- Artifact count: 49 +- Retrieval index items: 49 - Primary confidence command: `make validate` - Refresh generated indexes and views with: `make index` - Refresh agent briefs and interface templates with: `make agent-briefs` diff --git a/infospace/agent/retrieval-index.json b/infospace/agent/retrieval-index.json index 2adb2b4..c4873e5 100644 --- a/infospace/agent/retrieval-index.json +++ b/infospace/agent/retrieval-index.json @@ -43,8 +43,182 @@ } ], "infospace": "canon", - "item_count": 44, + "item_count": 49, "items": [ + { + "canonical_path": "evaluations/repo-scoping/canon-benefit-analysis.yaml", + "id": "comparison/repo-scoping/canon-benefit-analysis", + "imports": [], + "kind": "benefit-analysis", + "owned_concepts": [ + "Repo Scoping Canon Benefit Analysis" + ], + "relationships": [ + { + "target": "comparison/repo-scoping/report", + "type": "part_of" + }, + { + "target": "model/purpose-demand-extension", + "type": "maps" + }, + { + "target": "model/governance", + "type": "maps" + }, + { + "target": "model/information-space", + "type": "maps" + }, + { + "target": "model/task", + "type": "maps" + }, + { + "target": "standard/tagging", + "type": "maps" + } + ], + "source_path": "infospace/evaluations/repo-scoping/canon-benefit-analysis.yaml", + "summary": "Consumer benefit analysis against canon surfaces: Repo Scoping Canon Benefit Analysis.", + "title": "Repo Scoping Canon Benefit Analysis", + "warnings": [] + }, + { + "canonical_path": "evaluations/repo-scoping/consumer-workplan-brief.md", + "id": "comparison/repo-scoping/consumer-workplan-brief", + "imports": [ + "model/purpose-demand-extension" + ], + "kind": "consumer-workplan-brief", + "owned_concepts": [ + "Repo Scoping Consumer Workplan Brief" + ], + "relationships": [ + { + "target": "comparison/repo-scoping/report", + "type": "part_of" + }, + { + "target": "model/purpose-demand-extension", + "type": "uses" + } + ], + "source_path": "infospace/evaluations/repo-scoping/consumer-workplan-brief.md", + "summary": "Consumer repo workplan seed brief: Repo Scoping Consumer Workplan Brief.", + "title": "Repo Scoping Consumer Workplan Brief", + "warnings": [] + }, + { + "canonical_path": "evaluations/repo-scoping/extension-candidates.yaml", + "id": "comparison/repo-scoping/extension-candidates", + "imports": [], + "kind": "extension-candidate-set", + "owned_concepts": [ + "Repo Scoping Canon Extension Candidates" + ], + "relationships": [ + { + "target": "comparison/repo-scoping/report", + "type": "part_of" + }, + { + "target": "model/purpose-demand-extension", + "type": "proposes" + }, + { + "target": "model/information-space", + "type": "proposes" + }, + { + "target": "model/governance", + "type": "proposes" + }, + { + "target": "model/task", + "type": "proposes" + } + ], + "source_path": "infospace/evaluations/repo-scoping/extension-candidates.yaml", + "summary": "Reviewable canon extension candidate set: Repo Scoping Canon Extension Candidates.", + "title": "Repo Scoping Canon Extension Candidates", + "warnings": [] + }, + { + "canonical_path": "evaluations/repo-scoping/comparison-frame.yaml", + "id": "comparison/repo-scoping/frame", + "imports": [ + "model/governance", + "model/purpose-demand-extension", + "model/task" + ], + "kind": "comparison-frame", + "owned_concepts": [ + "Repo Scoping Canon Comparison Frame" + ], + "relationships": [ + { + "target": "comparison/repo-scoping/report", + "type": "part_of" + }, + { + "target": "model/purpose-demand-extension", + "type": "uses" + }, + { + "target": "model/governance", + "type": "uses" + }, + { + "target": "model/task", + "type": "uses" + } + ], + "source_path": "infospace/evaluations/repo-scoping/comparison-frame.yaml", + "summary": "Structured comparison questions and domains: Repo Scoping Canon Comparison Frame.", + "title": "Repo Scoping Canon Comparison Frame", + "warnings": [] + }, + { + "canonical_path": "evaluations/repo-scoping/comparison-report.md", + "id": "comparison/repo-scoping/report", + "imports": [ + "model/governance", + "model/information-space", + "model/task", + "pattern/intent-scope-purposes" + ], + "kind": "comparison-report", + "owned_concepts": [ + "Repo Scoping Canon Comparison Report" + ], + "relationships": [ + { + "target": "model/purpose-demand-extension", + "type": "compares" + }, + { + "target": "model/governance", + "type": "uses" + }, + { + "target": "model/information-space", + "type": "uses" + }, + { + "target": "model/task", + "type": "uses" + }, + { + "target": "pattern/intent-scope-purposes", + "type": "uses" + } + ], + "source_path": "infospace/evaluations/repo-scoping/comparison-report.md", + "summary": "Canon-side comparison report: Repo Scoping Canon Comparison Report.", + "title": "Repo Scoping Canon Comparison Report", + "warnings": [] + }, { "canonical_path": "concepts/purpose-demand.yaml", "id": "concept-catalog/purpose-demand", diff --git a/infospace/agent/retrieval-index.md b/infospace/agent/retrieval-index.md index 3ae9478..668ecb5 100644 --- a/infospace/agent/retrieval-index.md +++ b/infospace/agent/retrieval-index.md @@ -4,7 +4,7 @@ Schema: `info-tech-canon.retrieval-index.v1` Infospace: `canon` -Items: **44** +Items: **49** ## Common Distinctions @@ -15,6 +15,56 @@ Items: **44** ## Items +### Repo Scoping Canon Benefit Analysis + +- ID: `comparison/repo-scoping/canon-benefit-analysis` +- Kind: `benefit-analysis` +- Canonical path: `evaluations/repo-scoping/canon-benefit-analysis.yaml` +- Source path: `infospace/evaluations/repo-scoping/canon-benefit-analysis.yaml` +- Summary: Consumer benefit analysis against canon surfaces: Repo Scoping Canon Benefit Analysis. +- Imports and anchors: none +- Owned concepts: `Repo Scoping Canon Benefit Analysis` + +### Repo Scoping Consumer Workplan Brief + +- ID: `comparison/repo-scoping/consumer-workplan-brief` +- Kind: `consumer-workplan-brief` +- Canonical path: `evaluations/repo-scoping/consumer-workplan-brief.md` +- Source path: `infospace/evaluations/repo-scoping/consumer-workplan-brief.md` +- Summary: Consumer repo workplan seed brief: Repo Scoping Consumer Workplan Brief. +- Imports and anchors: `model/purpose-demand-extension` +- Owned concepts: `Repo Scoping Consumer Workplan Brief` + +### Repo Scoping Canon Extension Candidates + +- ID: `comparison/repo-scoping/extension-candidates` +- Kind: `extension-candidate-set` +- Canonical path: `evaluations/repo-scoping/extension-candidates.yaml` +- Source path: `infospace/evaluations/repo-scoping/extension-candidates.yaml` +- Summary: Reviewable canon extension candidate set: Repo Scoping Canon Extension Candidates. +- Imports and anchors: none +- Owned concepts: `Repo Scoping Canon Extension Candidates` + +### Repo Scoping Canon Comparison Frame + +- ID: `comparison/repo-scoping/frame` +- Kind: `comparison-frame` +- Canonical path: `evaluations/repo-scoping/comparison-frame.yaml` +- Source path: `infospace/evaluations/repo-scoping/comparison-frame.yaml` +- Summary: Structured comparison questions and domains: Repo Scoping Canon Comparison Frame. +- Imports and anchors: `model/governance`, `model/purpose-demand-extension`, `model/task` +- Owned concepts: `Repo Scoping Canon Comparison Frame` + +### Repo Scoping Canon Comparison Report + +- ID: `comparison/repo-scoping/report` +- Kind: `comparison-report` +- Canonical path: `evaluations/repo-scoping/comparison-report.md` +- Source path: `infospace/evaluations/repo-scoping/comparison-report.md` +- Summary: Canon-side comparison report: Repo Scoping Canon Comparison Report. +- Imports and anchors: `model/governance`, `model/information-space`, `model/task`, `pattern/intent-scope-purposes` +- Owned concepts: `Repo Scoping Canon Comparison Report` + ### Purpose And Consumer Demand Concept Catalog - ID: `concept-catalog/purpose-demand` diff --git a/infospace/agent/retrieval-index.yaml b/infospace/agent/retrieval-index.yaml index 3c0c83b..2744681 100644 --- a/infospace/agent/retrieval-index.yaml +++ b/infospace/agent/retrieval-index.yaml @@ -1,7 +1,117 @@ schema: info-tech-canon.retrieval-index.v1 infospace: canon -item_count: 44 +item_count: 49 items: +- id: comparison/repo-scoping/canon-benefit-analysis + kind: benefit-analysis + title: Repo Scoping Canon Benefit Analysis + canonical_path: evaluations/repo-scoping/canon-benefit-analysis.yaml + source_path: infospace/evaluations/repo-scoping/canon-benefit-analysis.yaml + summary: 'Consumer benefit analysis against canon surfaces: Repo Scoping Canon Benefit + Analysis.' + owned_concepts: + - Repo Scoping Canon Benefit Analysis + imports: [] + relationships: + - type: part_of + target: comparison/repo-scoping/report + - type: maps + target: model/purpose-demand-extension + - type: maps + target: model/governance + - type: maps + target: model/information-space + - type: maps + target: model/task + - type: maps + target: standard/tagging + warnings: [] +- id: comparison/repo-scoping/consumer-workplan-brief + kind: consumer-workplan-brief + title: Repo Scoping Consumer Workplan Brief + canonical_path: evaluations/repo-scoping/consumer-workplan-brief.md + source_path: infospace/evaluations/repo-scoping/consumer-workplan-brief.md + summary: 'Consumer repo workplan seed brief: Repo Scoping Consumer Workplan Brief.' + owned_concepts: + - Repo Scoping Consumer Workplan Brief + imports: + - model/purpose-demand-extension + relationships: + - type: part_of + target: comparison/repo-scoping/report + - type: uses + target: model/purpose-demand-extension + warnings: [] +- id: comparison/repo-scoping/extension-candidates + kind: extension-candidate-set + title: Repo Scoping Canon Extension Candidates + canonical_path: evaluations/repo-scoping/extension-candidates.yaml + source_path: infospace/evaluations/repo-scoping/extension-candidates.yaml + summary: 'Reviewable canon extension candidate set: Repo Scoping Canon Extension + Candidates.' + owned_concepts: + - Repo Scoping Canon Extension Candidates + imports: [] + relationships: + - type: part_of + target: comparison/repo-scoping/report + - type: proposes + target: model/purpose-demand-extension + - type: proposes + target: model/information-space + - type: proposes + target: model/governance + - type: proposes + target: model/task + warnings: [] +- id: comparison/repo-scoping/frame + kind: comparison-frame + title: Repo Scoping Canon Comparison Frame + canonical_path: evaluations/repo-scoping/comparison-frame.yaml + source_path: infospace/evaluations/repo-scoping/comparison-frame.yaml + summary: 'Structured comparison questions and domains: Repo Scoping Canon Comparison + Frame.' + owned_concepts: + - Repo Scoping Canon Comparison Frame + imports: + - model/governance + - model/purpose-demand-extension + - model/task + relationships: + - type: part_of + target: comparison/repo-scoping/report + - type: uses + target: model/purpose-demand-extension + - type: uses + target: model/governance + - type: uses + target: model/task + warnings: [] +- id: comparison/repo-scoping/report + kind: comparison-report + title: Repo Scoping Canon Comparison Report + canonical_path: evaluations/repo-scoping/comparison-report.md + source_path: infospace/evaluations/repo-scoping/comparison-report.md + summary: 'Canon-side comparison report: Repo Scoping Canon Comparison Report.' + owned_concepts: + - Repo Scoping Canon Comparison Report + imports: + - model/governance + - model/information-space + - model/task + - pattern/intent-scope-purposes + relationships: + - type: compares + target: model/purpose-demand-extension + - type: uses + target: model/governance + - type: uses + target: model/information-space + - type: uses + target: model/task + - type: uses + target: pattern/intent-scope-purposes + warnings: [] - id: concept-catalog/purpose-demand kind: concept-catalog title: Purpose And Consumer Demand Concept Catalog diff --git a/infospace/artifacts/index.yaml b/infospace/artifacts/index.yaml index 1072564..e0a1485 100644 --- a/infospace/artifacts/index.yaml +++ b/infospace/artifacts/index.yaml @@ -533,6 +533,90 @@ artifacts: target: conformance/railiance-fabric - type: uses target: model/purpose-demand-extension + - id: comparison/repo-scoping/report + path: evaluations/repo-scoping/comparison-report.md + kind: comparison-report + title: Repo Scoping Canon Comparison Report + provenance: + source_path: infospace/evaluations/repo-scoping/comparison-report.md + placement_workplan: ITC-WP-0009 + relationships: + - type: compares + target: model/purpose-demand-extension + - type: uses + target: model/governance + - type: uses + target: model/information-space + - type: uses + target: model/task + - type: uses + target: pattern/intent-scope-purposes + - id: comparison/repo-scoping/frame + path: evaluations/repo-scoping/comparison-frame.yaml + kind: comparison-frame + title: Repo Scoping Canon Comparison Frame + provenance: + source_path: infospace/evaluations/repo-scoping/comparison-frame.yaml + placement_workplan: ITC-WP-0009 + relationships: + - type: part_of + target: comparison/repo-scoping/report + - type: uses + target: model/purpose-demand-extension + - type: uses + target: model/governance + - type: uses + target: model/task + - id: comparison/repo-scoping/canon-benefit-analysis + path: evaluations/repo-scoping/canon-benefit-analysis.yaml + kind: benefit-analysis + title: Repo Scoping Canon Benefit Analysis + provenance: + source_path: infospace/evaluations/repo-scoping/canon-benefit-analysis.yaml + placement_workplan: ITC-WP-0009 + relationships: + - type: part_of + target: comparison/repo-scoping/report + - type: maps + target: model/purpose-demand-extension + - type: maps + target: model/governance + - type: maps + target: model/information-space + - type: maps + target: model/task + - type: maps + target: standard/tagging + - id: comparison/repo-scoping/extension-candidates + path: evaluations/repo-scoping/extension-candidates.yaml + kind: extension-candidate-set + title: Repo Scoping Canon Extension Candidates + provenance: + source_path: infospace/evaluations/repo-scoping/extension-candidates.yaml + placement_workplan: ITC-WP-0009 + relationships: + - type: part_of + target: comparison/repo-scoping/report + - type: proposes + target: model/purpose-demand-extension + - type: proposes + target: model/information-space + - type: proposes + target: model/governance + - type: proposes + target: model/task + - id: comparison/repo-scoping/consumer-workplan-brief + path: evaluations/repo-scoping/consumer-workplan-brief.md + kind: consumer-workplan-brief + title: Repo Scoping Consumer Workplan Brief + provenance: + source_path: infospace/evaluations/repo-scoping/consumer-workplan-brief.md + placement_workplan: ITC-WP-0009 + relationships: + - type: part_of + target: comparison/repo-scoping/report + - type: uses + target: model/purpose-demand-extension - id: small-saas/service/billing-portal path: profiles/small-saas/artifacts/service.billing-portal.yaml kind: profile-artifact diff --git a/infospace/evaluations/repo-scoping/canon-benefit-analysis.yaml b/infospace/evaluations/repo-scoping/canon-benefit-analysis.yaml new file mode 100644 index 0000000..0934be5 --- /dev/null +++ b/infospace/evaluations/repo-scoping/canon-benefit-analysis.yaml @@ -0,0 +1,96 @@ +id: comparison/repo-scoping/canon-benefit-analysis +title: Repo Scoping Canon Benefit Analysis +status: candidate +consumer: repo-scoping +comparison_report: comparison/repo-scoping/report +direct_reuse: + - canon_surface: model/purpose-demand-extension + benefit: Distinguishes producer intent, current scope, consumer purposes, demand signals, purpose fit, scope pressure, and evolution requests. + repo_scoping_surfaces: + - INTENT.md + - SCOPE.md + - expectation gaps + - self-scoping comparison outcomes + - canon_surface: model/governance + benefit: Provides Decision, Review, Evidence, Risk, Issue, Exception, Approval, and review-cycle vocabulary for candidate acceptance. + repo_scoping_surfaces: + - ReviewDecision + - approved characteristics + - rejected candidates + - quality-gate overrides + - regression outcomes + - canon_surface: model/information-space + benefit: Provides artifact, source reference, provenance, retrieval, citation, index, and interface-card concepts. + repo_scoping_surfaces: + - SourceReference + - ContentChunk + - ObservedFact + - SCOPE.md sections + - scope-generation API outputs + - canon_surface: model/task + benefit: Provides work semantics for review tasks, remediation, refactors, rebuilds, recalculation, and follow-up work. + repo_scoping_surfaces: + - expectation gaps + - rebuild dry-runs + - dependency impact analysis + - self-assessment actions + - canon_surface: standard/tagging + benefit: Provides lightweight classification vocabulary for primary class, attributes, source roles, and utility relationships. + repo_scoping_surfaces: + - primary_class + - attributes + - source_role + - utility_relationship +candidate_mappings: + - repo_scoping_concept: Scope + canon_mapping: RepositoryScopeProfile + fit: extension_needed + rationale: Canon has generic Scope, Profile, and Purpose concepts, but repo-scoping needs a source-linked current-state repository utility profile. + - repo_scoping_concept: Ability + canon_mapping: ProducerCapability + fit: partial_fit + rationale: Ability is a high-level useful outcome; ProducerCapability is close but should not hide repository-specific abstraction level. + - repo_scoping_concept: Capability + canon_mapping: CapabilityClaim + fit: extension_needed + rationale: Repo-scoping capabilities are reviewable utility claims with confidence, evidence, and source references. + - repo_scoping_concept: Feature + canon_mapping: FeatureClaim + fit: extension_needed + rationale: Feature is concrete behavior supporting a capability and needs typed evidence links. + - repo_scoping_concept: Evidence + canon_mapping: EvidenceLink + fit: extension_needed + rationale: Governance Evidence exists, but repo-scoping needs a link object that can target facts, chunks, files, or lower-level characteristics. + - repo_scoping_concept: ObservedFact + canon_mapping: SourceObservation + fit: extension_needed + rationale: Observed facts are deterministic scanner outputs and should not be collapsed into evidence or truth claims. + - repo_scoping_concept: ReviewDecision + canon_mapping: Decision + fit: direct + rationale: ReviewDecision is a governance decision over candidate truth, with reviewer, criteria, evidence, and rationale. + - repo_scoping_concept: ExpectationGap + canon_mapping: Issue / ScopePressure / EvolutionRequest + fit: partial_fit + rationale: Some gaps are quality issues, some are out-of-scope expectations, and some create purpose-driven evolution requests. + - repo_scoping_concept: DependencyImpactAnalysis + canon_mapping: ScopeFreshness / PropagationImpact + fit: extension_needed + rationale: Canon lacks a precise way to express staleness propagation from observed facts to approved utility claims. +profile_candidates: + - id: profile/repository-scope + title: Repository Scope Profile + purpose: Define minimal artifacts and relationships needed to represent repository intent, current scope, consumer purposes, approved claims, evidence links, decisions, and freshness. + - id: profile/scope-md-interface + title: SCOPE.md Interface Profile + purpose: Define the SCOPE.md section contract, generation ownership, curator-owned sections, and capability block expectations. + - id: profile/self-scoping-assessment + title: Self-Scoping Assessment Profile + purpose: Define golden profile, challenger assessment, known-bad seed, comparison outcome, and regression evidence structures. +repo_scoping_value: + - Better separation of INTENT, SCOPE, and PURPOSES. + - Cleaner review semantics for generated candidates and approved truth. + - Source-linked evidence model that can become reusable across canon consumers. + - Explicit extension path for self-scoping, scope freshness, and scope propagation. + - Interface Card fields that repo-scoping can produce for other repositories. diff --git a/infospace/evaluations/repo-scoping/comparison-frame.yaml b/infospace/evaluations/repo-scoping/comparison-frame.yaml new file mode 100644 index 0000000..36b6aab --- /dev/null +++ b/infospace/evaluations/repo-scoping/comparison-frame.yaml @@ -0,0 +1,90 @@ +id: comparison/repo-scoping/frame +title: Repo Scoping Canon Comparison Frame +status: candidate +consumer: repo-scoping +comparison_report: comparison/repo-scoping/report +created_by_workplan: ITC-WP-0009 +source_context: + repo: repo-scoping + inspected_sources: + - INTENT.md + - SCOPE.md + - docs/terminology.md + - docs/scope-md-spec.md + - docs/characteristic-evidence-model.md + - docs/dependency-aware-scope-propagation.md + - docs/self-scoping/README.md + - docs/self-scoping/golden/repo-scoping-golden-profile.v1.json +comparison_domains: + - id: repository-intent + title: Repository Intent + canon_anchors: + - kernel/itc-core + - model/purpose-demand-extension + - pattern/intent-scope-purposes + questions: + - How does repo-scoping distinguish design-time INTENT.md from generated or curated SCOPE.md? + - Which parts of INTENT.md are allowed to seed candidates, and which require review before becoming current scope? + - Does repo-scoping need a canonical RepositoryIntentStatement concept distinct from Purpose and Scope? + - id: current-scope + title: Current Scope + canon_anchors: + - model/information-space + - model/governance + questions: + - How does the root Scope characteristic represent current repository utility? + - Which SCOPE.md sections are generated, curator-owned, or curator-reviewed? + - How are in-scope, out-of-scope, relevant-when, and not-relevant-when statements evidenced? + - id: future-scope + title: Future Scope + canon_anchors: + - model/purpose-demand-extension + - model/task + - model/governance + questions: + - Which expectation gaps indicate possible future scope rather than current truth? + - Which requested capabilities should become EvolutionRequests? + - How should scope pressure be reviewed before repo-scoping changes its model? + - id: consumers-and-purposes + title: Consumers And Purposes + canon_anchors: + - model/purpose-demand-extension + - agent/templates/canon-interface-card.template.yaml + questions: + - Who consumes repo-scoping outputs: humans, agents, State Hub, capability catalog, and managed repos? + - Which consumer purposes are served by scope generation, profile comparison, and self-assessment? + - Which demand signals should repo-scoping feed back into InfoTechCanon? + - id: decisions-and-evidence + title: Decisions And Evidence + canon_anchors: + - model/governance + - model/information-space + - model/observability + questions: + - How do ReviewDecision, approved characteristics, rejected candidates, and expectation gaps map to governance decisions? + - How do SourceReference, ObservedFact, ContentChunk, and Evidence map to provenance and evidence concepts? + - What evidence is required before a generated candidate becomes registry truth? + - id: risks-and-regressions + title: Risks And Regressions + canon_anchors: + - model/security + - model/governance + - model/task + questions: + - How are known-bad self-scoping outputs represented as regression seeds? + - How does repo-scoping prevent provider, dependency, tooling, or mention-only facts from becoming native capability truth? + - Which risks should create tasks, quality gates, or governance review? + - id: evolution-requests + title: Evolution Requests + canon_anchors: + - model/purpose-demand-extension + - model/task + questions: + - Which canon extension candidates would make repo-scoping more precise? + - Which candidates should remain review proposals instead of immediate standard changes? + - Which work belongs in repo-scoping and which work belongs in InfoTechCanon? +comparison_outputs: + - comparison report + - canon benefit analysis + - canon extension candidate set + - repo-scoping consumer workplan brief diff --git a/infospace/evaluations/repo-scoping/comparison-report.md b/infospace/evaluations/repo-scoping/comparison-report.md new file mode 100644 index 0000000..7f88c47 --- /dev/null +++ b/infospace/evaluations/repo-scoping/comparison-report.md @@ -0,0 +1,124 @@ +--- +id: comparison/repo-scoping/report +title: Repo Scoping Canon Comparison Report +status: candidate +consumer: repo-scoping +created_by_workplan: ITC-WP-0009 +source_context: + - repo-scoping/INTENT.md + - repo-scoping/SCOPE.md + - repo-scoping/docs/terminology.md + - repo-scoping/docs/scope-md-spec.md + - repo-scoping/docs/characteristic-evidence-model.md + - repo-scoping/docs/dependency-aware-scope-propagation.md + - repo-scoping/docs/self-scoping/README.md +--- + +# Repo Scoping Canon Comparison Report + +## Summary + +Repo-scoping already contains a strong domain model for repository utility: + +```text +Scope -> Ability -> Capability -> Feature -> Evidence -> Observed Fact +``` + +InfoTechCanon can help repo-scoping by giving this model clearer boundaries +around INTENT, SCOPE, PURPOSES, governance decisions, evidence, tasks, source +roles, and interface cards. + +The comparison also exposes canon gaps. The canon has generic concepts for +Scope, Purpose, Evidence, Decision, Task, and Profile, but it does not yet have +precise repository-scoping concepts for source-linked current scope, reviewable +utility claims, evidence links, source observations, utility relationships, +scope freshness, or SCOPE.md as a markdown interface profile. + +## Direct Fit + +| Repo-scoping surface | Canon fit | Notes | +| --- | --- | --- | +| `INTENT.md` | INTENT / RepositoryIntentStatement candidate | Intent should seed candidate generation but not prove current scope. | +| `SCOPE.md` | RepositoryScopeProfile candidate | Current-state utility profile derived from evidence and approved claims. | +| Review decisions | Governance Decision / Review | Acceptance, rejection, edits, overrides, and rationale map cleanly to governance. | +| Evidence and source references | EvidenceLink candidate / Information Space provenance | Needs typed support links, not just generic evidence. | +| Expectation gaps | Issue / ScopePressure / EvolutionRequest | Gaps may be defects, exclusions, or requests for future scope. | +| Self-scoping assessments | Profile / Evidence / Review | Golden profiles and challenger assessments are reusable evaluation patterns. | + +## Important Distinctions + +### INTENT vs SCOPE + +Repo-scoping explicitly treats intent as design-time expected utility and scope +as derived current-state utility. This is a strong match for the canon +INTENT/SCOPE/PURPOSES distinction. + +The comparison suggests the canon should add a repository-specific +`RepositoryIntentStatement` candidate so repositories can declare what they are +trying to provide without making that declaration current truth. + +### Evidence vs Observed Fact + +Repo-scoping correctly avoids treating deterministic facts as the same thing as +evidence. A fact is observed source material. Evidence is support for an +interpreted characteristic. This suggests a canon `SourceObservation` and +`EvidenceLink` pair. + +### Candidate vs Approved Truth + +Repo-scoping has a review boundary: candidates are proposals; approved +characteristics are registry truth. This maps naturally to Governance Decision +and Review, but the canon should add `CharacteristicClaim` or a profile-specific +claim concept to preserve the abstraction level. + +### Current Scope vs Future Scope + +Expectation gaps and self-scoping outcomes can create scope pressure, but they +should not alter current scope directly. They should create reviewable +EvolutionRequests or tasks. + +## Benefit To Repo-Scoping + +Repo-scoping can benefit from the canon by: + +- using Canon Interface Cards to declare repo-scoping intent, scope, purposes, + produced concepts, consumed concepts, validation expectations, and requested + extensions, +- mapping Scope, Ability, Capability, Feature, Evidence, and Observed Fact to + canon-owned or candidate concepts, +- using Governance Decision and Evidence concepts to make review outcomes more + portable, +- using PURPOSES to capture consumers such as State Hub, agents, managed repos, + and humans, +- using Task and Governance concepts to separate recalculation, review, rebuild, + and adoption work, +- feeding SourceRole and UtilityRelationship as candidate extensions back into + the canon. + +## Canon Extension Candidates + +The candidate set is recorded in +`evaluations/repo-scoping/extension-candidates.yaml`. + +Highest-value candidates: + +- `RepositoryIntentStatement` +- `RepositoryScopeProfile` +- `CharacteristicClaim` +- `EvidenceLink` +- `SourceObservation` +- `SourceRole` +- `UtilityRelationship` +- `ScopeFreshness` +- `PropagationImpact` +- `ScopeMdInterface` + +These should remain review candidates for now. They are useful enough to guide +repo-scoping adoption, but they should be hardened through a consumer workplan +in the repo-scoping repository before changing stable standards. + +## Recommended Next Move + +Create the actual adoption workplan in repo-scoping. It should complete a Canon +Interface Card, map repo-scoping concepts to the comparison artifacts, and +identify which extension candidates are proven by implementation pressure. diff --git a/infospace/evaluations/repo-scoping/consumer-workplan-brief.md b/infospace/evaluations/repo-scoping/consumer-workplan-brief.md new file mode 100644 index 0000000..ff25d79 --- /dev/null +++ b/infospace/evaluations/repo-scoping/consumer-workplan-brief.md @@ -0,0 +1,61 @@ +--- +id: comparison/repo-scoping/consumer-workplan-brief +title: Repo Scoping Consumer Workplan Brief +status: candidate +consumer: repo-scoping +comparison_report: comparison/repo-scoping/report +--- + +# Repo Scoping Consumer Workplan Brief + +## Purpose + +Use this brief as the seed for a repo-scoping workplan. The adoption and +implementation workplan belongs in the repo-scoping repository, not in +InfoTechCanon. + +## Goal + +Compare repo-scoping with InfoTechCanon and adopt the canon where it improves +repository intent, current scope, purposes, governance decisions, evidence, and +scope evolution. + +## Canon Inputs + +- `infospace/evaluations/repo-scoping/comparison-report.md` +- `infospace/evaluations/repo-scoping/comparison-frame.yaml` +- `infospace/evaluations/repo-scoping/canon-benefit-analysis.yaml` +- `infospace/evaluations/repo-scoping/extension-candidates.yaml` +- `infospace/agent/templates/canon-interface-card.template.yaml` +- `infospace/models/governance/InfoTechCanonPurposeDemandExtension.md` +- `infospace/patterns/intent-scope-purposes.md` + +## Workplan Tasks For Repo-Scoping + +1. Complete a Canon Interface Card for repo-scoping. +2. Map Scope, Ability, Capability, Feature, Evidence, ObservedFact, + ReviewDecision, ExpectationGap, and DependencyImpactAnalysis to canon + concepts or extension candidates. +3. Separate design-time INTENT.md semantics from generated or curated SCOPE.md + semantics. +4. Identify consumer purposes for humans, agents, State Hub, managed repos, and + capability catalog consumers. +5. Evaluate extension candidates and mark which are proven, rejected, deferred, + or repo-scoping-specific. +6. Create repo-scoping tasks for schema, API, UI, and documentation changes. + +## Expected Outputs + +- completed interface card, +- mapping table from repo-scoping concepts to canon concepts, +- list of accepted canon concepts, +- list of extension candidates with evidence, +- list of repo-scoping implementation tasks, +- list of canon EvolutionRequests. + +## Non-Goals + +- Do not modify InfoTechCanon standards from the repo-scoping workplan without a + canon-side EvolutionRequest. +- Do not collapse intent, current scope, and consumer purposes into one field. +- Do not treat generated candidates as approved truth without governance review. diff --git a/infospace/evaluations/repo-scoping/extension-candidates.yaml b/infospace/evaluations/repo-scoping/extension-candidates.yaml new file mode 100644 index 0000000..968209f --- /dev/null +++ b/infospace/evaluations/repo-scoping/extension-candidates.yaml @@ -0,0 +1,91 @@ +id: comparison/repo-scoping/extension-candidates +title: Repo Scoping Canon Extension Candidates +status: candidate +consumer: repo-scoping +comparison_report: comparison/repo-scoping/report +candidate_set_status: review-required +candidates: + - id: extension/repository-intent-statement + title: RepositoryIntentStatement + proposed_owner: model/purpose-demand-extension + change_type: new-concept + problem: Intent is currently generic; repo-scoping needs a design-time repository utility statement that can seed but not prove current scope. + proposed_definition: A design-time statement of expected repository utility, distinct from current scope and consumer purpose. + review_question: Should this be a specialization of Intent or a repository-scoping profile concept? + - id: extension/repository-scope-profile + title: RepositoryScopeProfile + proposed_owner: model/information-space + change_type: new-profile + problem: Generic Scope does not capture source-linked current-state repository utility and SCOPE.md generation ownership. + proposed_definition: A current-state, source-linked profile describing what a repository is useful for, when it is relevant, and which approved claims support it. + review_question: Should this be a profile of Information Space, Governance, or a cross-model application profile? + - id: extension/characteristic-claim + title: CharacteristicClaim + proposed_owner: model/governance + change_type: new-concept + problem: Repo-scoping uses Scope, Ability, Capability, and Feature as reviewable claims rather than merely descriptive tags. + proposed_definition: An interpreted, reviewable claim about a repository at a declared abstraction level with confidence, evidence, provenance, and review status. + review_question: Should Ability, Capability, and Feature be levels of CharacteristicClaim or separate profile concepts? + - id: extension/evidence-link + title: EvidenceLink + proposed_owner: model/information-space + change_type: new-concept + problem: Governance Evidence is too coarse for support links that target observed facts, content chunks, files, and lower-level characteristics. + proposed_definition: A typed support relation from a claim to a source observation, content chunk, artifact, or lower-level claim. + review_question: Should EvidenceLink live in Information Space while Evidence remains Governance/Observability owned? + - id: extension/source-observation + title: SourceObservation + proposed_owner: model/information-space + change_type: new-concept + problem: Observed facts are deterministic scanner outputs and should not become evidence or truth claims without interpretation. + proposed_definition: A source-linked observation extracted from repository content, metadata, or execution results, before review or promotion. + review_question: How should SourceObservation relate to Observability signals and Information Space chunks? + - id: extension/source-role + title: SourceRole + proposed_owner: standard/tagging + change_type: new-taxonomy + problem: Repo-scoping needs stable labels such as intent_summary, derived_scope, product_documentation, implementation_source, dependency_declaration, and agent_guidance. + proposed_definition: A tag or classification describing the role a source artifact plays in repository utility evaluation. + review_question: Should SourceRole be a tagging profile or part of Information Space provenance? + - id: extension/utility-relationship + title: UtilityRelationship + proposed_owner: model/governance + change_type: new-taxonomy + problem: Provider, dependency, tooling, mention, owned, facade, and adapter relationships decide whether evidence can become a provided capability. + proposed_definition: A classification of how source evidence relates to claimed repository utility. + review_question: Should these labels become governance decision criteria for approving capability claims? + - id: extension/scope-freshness + title: ScopeFreshness + proposed_owner: model/task + change_type: new-concept + problem: Repo-scoping tracks stale downstream claims when observed facts change, but the canon lacks freshness semantics for repository scope. + proposed_definition: A state describing whether a scope claim is current, stale, needs recalculation, needs review, superseded, or rejected. + review_question: Should freshness be task state, governance review state, or a profile-specific quality signal? + - id: extension/propagation-impact + title: PropagationImpact + proposed_owner: model/task + change_type: new-concept + problem: Repo-scoping measures propagation breadth and depth from changed facts to approved scope claims. + proposed_definition: A traceable impact result showing which claims may be stale because upstream evidence changed. + review_question: Can this generalize to other evidence-driven canon consumers? + - id: extension/scope-md-interface + title: ScopeMdInterface + proposed_owner: model/information-space + change_type: new-interface-profile + problem: SCOPE.md has a stable section contract and machine-readable capability blocks that should be reusable. + proposed_definition: A markdown interface profile for repository orientation, generated sections, curator-owned sections, and provided capability blocks. + review_question: Should this become an interface-card specialization? +disposition: + recommended_next_step: Create a dedicated Repository Scope Profile workplan after repo-scoping consumer adoption begins. + immediate_standard_changes: [] + hold_for_review: + - extension/repository-intent-statement + - extension/repository-scope-profile + - extension/characteristic-claim + - extension/evidence-link + - extension/source-observation + - extension/source-role + - extension/utility-relationship + - extension/scope-freshness + - extension/propagation-impact + - extension/scope-md-interface diff --git a/infospace/indexes/artifact-tree.yaml b/infospace/indexes/artifact-tree.yaml index 9df32ca..9eafbe6 100644 --- a/infospace/indexes/artifact-tree.yaml +++ b/infospace/indexes/artifact-tree.yaml @@ -1,5 +1,5 @@ root: infospace -file_count: 121 +file_count: 131 files: - path: README.md directory: . @@ -7,6 +7,21 @@ files: - path: agent/README.md directory: agent name: README.md +- path: agent/briefs/comparison-repo-scoping-canon-benefit-analysis.md + directory: agent/briefs + name: comparison-repo-scoping-canon-benefit-analysis.md +- path: agent/briefs/comparison-repo-scoping-consumer-workplan-brief.md + directory: agent/briefs + name: comparison-repo-scoping-consumer-workplan-brief.md +- path: agent/briefs/comparison-repo-scoping-extension-candidates.md + directory: agent/briefs + name: comparison-repo-scoping-extension-candidates.md +- path: agent/briefs/comparison-repo-scoping-frame.md + directory: agent/briefs + name: comparison-repo-scoping-frame.md +- path: agent/briefs/comparison-repo-scoping-report.md + directory: agent/briefs + name: comparison-repo-scoping-report.md - path: agent/briefs/concept-catalog-purpose-demand.md directory: agent/briefs name: concept-catalog-purpose-demand.md @@ -151,6 +166,21 @@ files: - path: evaluations/railiance-fabric/visualization-examples.yaml directory: evaluations/railiance-fabric name: visualization-examples.yaml +- path: evaluations/repo-scoping/canon-benefit-analysis.yaml + directory: evaluations/repo-scoping + name: canon-benefit-analysis.yaml +- path: evaluations/repo-scoping/comparison-frame.yaml + directory: evaluations/repo-scoping + name: comparison-frame.yaml +- path: evaluations/repo-scoping/comparison-report.md + directory: evaluations/repo-scoping + name: comparison-report.md +- path: evaluations/repo-scoping/consumer-workplan-brief.md + directory: evaluations/repo-scoping + name: consumer-workplan-brief.md +- path: evaluations/repo-scoping/extension-candidates.yaml + directory: evaluations/repo-scoping + name: extension-candidates.yaml - path: evaluations/user-engine/consumer-workplan-brief.md directory: evaluations/user-engine name: consumer-workplan-brief.md diff --git a/infospace/indexes/concept-ownership.yaml b/infospace/indexes/concept-ownership.yaml index 459bdb5..a584812 100644 --- a/infospace/indexes/concept-ownership.yaml +++ b/infospace/indexes/concept-ownership.yaml @@ -1,5 +1,25 @@ -concept_count: 69 +concept_count: 74 concepts: +- concept: Repo Scoping Canon Benefit Analysis + owner: comparison/repo-scoping/canon-benefit-analysis + path: evaluations/repo-scoping/canon-benefit-analysis.yaml + source: artifact_title +- concept: Repo Scoping Consumer Workplan Brief + owner: comparison/repo-scoping/consumer-workplan-brief + path: evaluations/repo-scoping/consumer-workplan-brief.md + source: artifact_title +- concept: Repo Scoping Canon Extension Candidates + owner: comparison/repo-scoping/extension-candidates + path: evaluations/repo-scoping/extension-candidates.yaml + source: artifact_title +- concept: Repo Scoping Canon Comparison Frame + owner: comparison/repo-scoping/frame + path: evaluations/repo-scoping/comparison-frame.yaml + source: artifact_title +- concept: Repo Scoping Canon Comparison Report + owner: comparison/repo-scoping/report + path: evaluations/repo-scoping/comparison-report.md + source: artifact_title - concept: Purpose And Consumer Demand Concept Catalog owner: concept-catalog/purpose-demand path: concepts/purpose-demand.yaml diff --git a/infospace/indexes/import-matrix.yaml b/infospace/indexes/import-matrix.yaml index b26e821..d8bef16 100644 --- a/infospace/indexes/import-matrix.yaml +++ b/infospace/indexes/import-matrix.yaml @@ -1,4 +1,9 @@ artifacts: +- comparison/repo-scoping/canon-benefit-analysis +- comparison/repo-scoping/consumer-workplan-brief +- comparison/repo-scoping/extension-candidates +- comparison/repo-scoping/frame +- comparison/repo-scoping/report - concept-catalog/purpose-demand - conformance/railiance-fabric - conformance/railiance-fabric/consumer-workplan-brief @@ -44,6 +49,60 @@ artifacts: - standard/caring - standard/tagging rows: +- artifact: comparison/repo-scoping/canon-benefit-analysis + targets: + comparison/repo-scoping/report: + - part_of + model/governance: + - maps + model/information-space: + - maps + model/purpose-demand-extension: + - maps + model/task: + - maps + standard/tagging: + - maps +- artifact: comparison/repo-scoping/consumer-workplan-brief + targets: + comparison/repo-scoping/report: + - part_of + model/purpose-demand-extension: + - uses +- artifact: comparison/repo-scoping/extension-candidates + targets: + comparison/repo-scoping/report: + - part_of + model/governance: + - proposes + model/information-space: + - proposes + model/purpose-demand-extension: + - proposes + model/task: + - proposes +- artifact: comparison/repo-scoping/frame + targets: + comparison/repo-scoping/report: + - part_of + model/governance: + - uses + model/purpose-demand-extension: + - uses + model/task: + - uses +- artifact: comparison/repo-scoping/report + targets: + model/governance: + - uses + model/information-space: + - uses + model/purpose-demand-extension: + - compares + model/task: + - uses + pattern/intent-scope-purposes: + - uses - artifact: concept-catalog/purpose-demand targets: kernel/itc-core: diff --git a/infospace/validation/latest.json b/infospace/validation/latest.json index 27e8501..5d547b4 100644 --- a/infospace/validation/latest.json +++ b/infospace/validation/latest.json @@ -1,14 +1,14 @@ { "details": { - "artifact_count": 44, - "relationship_count": 190 + "artifact_count": 49, + "relationship_count": 212 }, "errors": [], "metrics": { "coherence_components": 1.0, "consistency_cycles": 0.0, "coverage_ratio": 1.0, - "granularity_entropy": 3.3648983427090142, + "granularity_entropy": 3.6776822595640257, "redundancy_ratio": 0.0 }, "ok": true, diff --git a/infospace/views/by-concept.md b/infospace/views/by-concept.md index 73e115f..1cf2d34 100644 --- a/infospace/views/by-concept.md +++ b/infospace/views/by-concept.md @@ -2,10 +2,15 @@ # By Concept -Concept count: **69** +Concept count: **74** | Concept | Owner | Source | | --- | --- | --- | +| Repo Scoping Canon Benefit Analysis | `comparison/repo-scoping/canon-benefit-analysis` | `artifact_title` | +| Repo Scoping Consumer Workplan Brief | `comparison/repo-scoping/consumer-workplan-brief` | `artifact_title` | +| Repo Scoping Canon Extension Candidates | `comparison/repo-scoping/extension-candidates` | `artifact_title` | +| Repo Scoping Canon Comparison Frame | `comparison/repo-scoping/frame` | `artifact_title` | +| Repo Scoping Canon Comparison Report | `comparison/repo-scoping/report` | `artifact_title` | | Purpose And Consumer Demand Concept Catalog | `concept-catalog/purpose-demand` | `artifact_title` | | Railiance Fabric Canon Conformance Pack | `conformance/railiance-fabric` | `artifact_title` | | Railiance Fabric Consumer Workplan Brief | `conformance/railiance-fabric/consumer-workplan-brief` | `artifact_title` | diff --git a/infospace/views/by-mapping-target.md b/infospace/views/by-mapping-target.md index b2864b9..6985716 100644 --- a/infospace/views/by-mapping-target.md +++ b/infospace/views/by-mapping-target.md @@ -2,6 +2,13 @@ # By Mapping Target +## `comparison/repo-scoping/report` + +- `comparison/repo-scoping/canon-benefit-analysis` via `part_of` +- `comparison/repo-scoping/consumer-workplan-brief` via `part_of` +- `comparison/repo-scoping/extension-candidates` via `part_of` +- `comparison/repo-scoping/frame` via `part_of` + ## `concept-catalog/purpose-demand` - `model/purpose-demand-extension` via `introduces` @@ -83,6 +90,10 @@ ## `model/governance` +- `comparison/repo-scoping/canon-benefit-analysis` via `maps` +- `comparison/repo-scoping/extension-candidates` via `proposes` +- `comparison/repo-scoping/frame` via `uses` +- `comparison/repo-scoping/report` via `uses` - `concept-catalog/purpose-demand` via `uses` - `conformance/railiance-fabric` via `uses` - `conformance/railiance-fabric/entity-edge-capture-criteria` via `uses` @@ -102,6 +113,9 @@ ## `model/information-space` +- `comparison/repo-scoping/canon-benefit-analysis` via `maps` +- `comparison/repo-scoping/extension-candidates` via `proposes` +- `comparison/repo-scoping/report` via `uses` - `kernel/itc-kernel-map` via `maps` - `model/purpose-demand-extension` via `uses` @@ -151,6 +165,11 @@ ## `model/purpose-demand-extension` +- `comparison/repo-scoping/canon-benefit-analysis` via `maps` +- `comparison/repo-scoping/consumer-workplan-brief` via `uses` +- `comparison/repo-scoping/extension-candidates` via `proposes` +- `comparison/repo-scoping/frame` via `uses` +- `comparison/repo-scoping/report` via `compares` - `conformance/railiance-fabric` via `uses` - `conformance/railiance-fabric/consumer-workplan-brief` via `uses` - `conformance/railiance-fabric/entity-edge-capture-criteria` via `uses` @@ -180,6 +199,10 @@ ## `model/task` +- `comparison/repo-scoping/canon-benefit-analysis` via `maps` +- `comparison/repo-scoping/extension-candidates` via `proposes` +- `comparison/repo-scoping/frame` via `uses` +- `comparison/repo-scoping/report` via `uses` - `conformance/railiance-fabric` via `uses` - `conformance/railiance-fabric/entity-edge-capture-criteria` via `uses` - `evaluation/user-engine` via `uses` @@ -196,6 +219,7 @@ ## `pattern/intent-scope-purposes` +- `comparison/repo-scoping/report` via `uses` - `example/consumer-purpose-portfolio` via `illustrates` ## `profile/small-saas` @@ -280,6 +304,7 @@ ## `standard/tagging` +- `comparison/repo-scoping/canon-benefit-analysis` via `maps` - `conformance/railiance-fabric` via `uses` - `kernel/itc-kernel-map` via `maps` - `profile/small-saas` via `requires` diff --git a/infospace/views/import-matrix.md b/infospace/views/import-matrix.md index 520d246..091a5ab 100644 --- a/infospace/views/import-matrix.md +++ b/infospace/views/import-matrix.md @@ -2,49 +2,54 @@ # Import Matrix -| Artifact | `concept-catalog/purpose-demand` | `conformance/railiance-fabric` | `conformance/railiance-fabric/consumer-workplan-brief` | `conformance/railiance-fabric/entity-edge-capture-criteria` | `conformance/railiance-fabric/mapping-expectations` | `conformance/railiance-fabric/visualization-examples` | `evaluation/user-engine` | `evaluation/user-engine/consumer-workplan-brief` | `evaluation/user-engine/interface-card-expectations` | `evaluation/user-engine/questions` | `evaluation/user-engine/small-saas-alignment` | `example/consumer-purpose-portfolio` | `kernel/itc-core` | `kernel/itc-kernel-map` | `mapping/purpose-demand-governance-candidates` | `model/access-control` | `model/data` | `model/devsecops` | `model/governance` | `model/information-space` | `model/landscape` | `model/network` | `model/observability` | `model/organization` | `model/purpose-demand-extension` | `model/security` | `model/task` | `pattern/intent-scope-purposes` | `profile/small-saas` | `small-saas/control/namespace-per-tenant` | `small-saas/dataset/subscription-ledger` | `small-saas/deployment/production` | `small-saas/evidence/access-review-2026-05` | `small-saas/incident/cross-tenant-access-attempt` | `small-saas/policy/tenant-isolation` | `small-saas/service/billing-portal` | `small-saas/system/billing-system` | `small-saas/task/onboard-tenant` | `small-saas/team/platform` | `small-saas/tenant/acme` | `small-saas/tenant/globex` | `small-saas/user/ada-admin` | `standard/caring` | `standard/tagging` | -| --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | -| `concept-catalog/purpose-demand` | | | | | | | | | | | | | `conforms_to` | | | | | | `uses` | | | | | | | | | | | | | | | | | | | | | | | | | | -| `conformance/railiance-fabric` | | | | | | | | | | | | | | | | | `uses` | `uses` | `uses` | | `uses` | `uses` | `uses` | | `uses` | `uses` | `uses` | | | | | | | | | | | | | | | | | `uses` | -| `conformance/railiance-fabric/consumer-workplan-brief` | | `part_of` | | | | | | | | | | | | | | | | | | | | | | | `uses` | | | | | | | | | | | | | | | | | | | | -| `conformance/railiance-fabric/entity-edge-capture-criteria` | | `part_of` | | | | | | | | | | | | | | | `uses` | `uses` | `uses` | | `uses` | `uses` | `uses` | | `uses` | `uses` | `uses` | | | | | | | | | | | | | | | | | | -| `conformance/railiance-fabric/mapping-expectations` | | `part_of` | | | | | | | | | | | | | | | `maps` | `maps` | `maps` | | `maps` | `maps` | `maps` | | `maps` | `maps` | | | | | | | | | | | | | | | | | | | -| `conformance/railiance-fabric/visualization-examples` | | `part_of` | | `illustrates` | `illustrates` | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | -| `evaluation/user-engine` | | | | | | | | | | | | | | | | `uses` | `uses` | | `uses` | | | | | `uses` | `uses` | `uses` | `uses` | | `evaluates` | | | | | | | | | | | | | | `uses` | | -| `evaluation/user-engine/consumer-workplan-brief` | | | | | | | `part_of` | | | | | | | | | | | | | | | | | | `uses` | | | | | | | | | | | | | | | | | | | | -| `evaluation/user-engine/interface-card-expectations` | | | | | | | `part_of` | | | | | | | | | | | | | | | | | | `uses` | | | | | | | | | | | | | | | | | | `uses` | | -| `evaluation/user-engine/questions` | | | | | | | `part_of` | | | | | | | | | `uses` | `uses` | | `uses` | | | | | `uses` | `uses` | `uses` | `uses` | | | | | | | | | | | | | | | | | | -| `evaluation/user-engine/small-saas-alignment` | | | | | | | `part_of` | | | | | | | | | `uses` | | | `uses` | | | | | `uses` | | | | | `evaluates` | | | | | | | | | | | | | | | | -| `example/consumer-purpose-portfolio` | | | | | | | | | | | | | | | | | | | | | | | | | `illustrates` | | | `illustrates` | `uses` | | | | | | | | | | | | | | | | -| `kernel/itc-core` | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | -| `kernel/itc-kernel-map` | | | | | | | | | | | | | `maps` | | | `maps` | `maps` | `maps` | `maps` | `maps` | `maps` | `maps` | `maps` | `maps` | | `maps` | `maps` | | | | | | | | | | | | | | | | `maps` | `maps` | -| `mapping/purpose-demand-governance-candidates` | | | | | | | | | | | | | | | | | | | `maps` | | | | | | `maps` | | `uses` | | | | | | | | | | | | | | | | | | -| `model/access-control` | | | | | | | | | | | | | `conforms_to` | | | | | | `uses` | | | | | `uses` | | | | | | | | | | | | | | | | | | | | | -| `model/data` | | | | | | | | | | | | | `conforms_to` | | | | | | `uses` | | | | | | | | | | | | | | | | | | | | | | | | | | -| `model/devsecops` | | | | | | | | | | | | | `conforms_to` | | | | | | | | | | | | | `uses` | | | | | | | | | | | | | | | | | | | -| `model/governance` | | | | | | | | | | | | | `conforms_to` | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | -| `model/information-space` | | | | | | | | | | | | | `conforms_to` | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | -| `model/landscape` | | | | | | | | | | | | | `conforms_to` | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | -| `model/network` | | | | | | | | | | | | | `conforms_to` | | | | | | | | | | | | | `uses` | | | | | | | | | | | | | | | | | | | -| `model/observability` | | | | | | | | | | | | | `conforms_to` | | | | | | | | | | | | | | `uses` | | | | | | | | | | | | | | | | | | -| `model/organization` | | | | | | | | | | | | | `conforms_to` | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | -| `model/purpose-demand-extension` | `introduces` | | | | | | | | | | | | `conforms_to` | | | | | | `extends` | `uses` | | | | | | | `uses` | | | | | | | | | | | | | | | | | | -| `model/security` | | | | | | | | | | | | | `conforms_to` | | | `uses` | | | | | | | | | | | | | | | | | | | | | | | | | | | | | -| `model/task` | | | | | | | | | | | | | `conforms_to` | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | -| `pattern/intent-scope-purposes` | | | | | | | | | | | | | | | | | | | `uses` | | | | | | `implements` | | `uses` | | | | | | | | | | | | | | | | | | -| `profile/small-saas` | | | | | | | | | | | | | `conforms_to` | | | `requires` | `requires` | `requires` | `requires` | | `requires` | `requires` | `requires` | `requires` | | `requires` | `requires` | | | | | | | | | | | | | | | | `requires` | `requires` | -| `small-saas/control/namespace-per-tenant` | | | | | | | | | | | | | | | | | | | | | | | | | | `uses` | | | `instantiates` | | | | `evidenced_by` | | | | | | | | | | `uses` | | -| `small-saas/dataset/subscription-ledger` | | | | | | | | | | | | | | | | | `uses` | | | | | | | | | | | | `instantiates` | | | | | | `governed_by` | `owned_by` | | | | `partitioned_for` | `partitioned_for` | | | | -| `small-saas/deployment/production` | | | | | | | | | | | | | | | | | | `uses` | | | | `uses` | | | | | | | `instantiates` | `implements` | | | | | | `deploys` | | | | `separates` | `separates` | | | | -| `small-saas/evidence/access-review-2026-05` | | | | | | | | | | | | | | | | | | | | | | | `uses` | | | | | | `instantiates` | | | | | | | | | | | | | | | | -| `small-saas/incident/cross-tenant-access-attempt` | | | | | | | | | | | | | | | | | | | | | | | | | | `uses` | | | `instantiates` | `constrained_by` | | | `evidenced_by` | | | | | | | | | | | | -| `small-saas/policy/tenant-isolation` | | | | | | | | | | | | | | | | | | | `uses` | | | | | | | | | | `instantiates` | `requires` | | | `evidenced_by` | | | | | | | | | | | | -| `small-saas/service/billing-portal` | | | | | | | | | | | | | | | | | | | | | `uses` | | | | | | | | `instantiates` | | | | | | | | `part_of` | | `owned_by` | | | | | | -| `small-saas/system/billing-system` | | | | | | | | | | | | | | | | | | | | | `uses` | | | | | | | | `instantiates` | | | | | | | | | | | `serves` | `serves` | | | | -| `small-saas/task/onboard-tenant` | | | | | | | | | | | | | | | | | | | | | | | | | | | `uses` | | `instantiates` | | | | | | `governed_by` | | | | `owned_by` | `changes` | | | | | -| `small-saas/team/platform` | | | | | | | | | | | | | | | | | | | | | | | | `uses` | | | | | `instantiates` | | | | | | | | | | | | | | | | -| `small-saas/tenant/acme` | | | | | | | | | | | | | | | | | | | | | | | | `uses` | | | | | `instantiates` | `isolated_by` | | | | | | | | | | | | `represented_by` | | | -| `small-saas/tenant/globex` | | | | | | | | | | | | | | | | | | | | | | | | `uses` | | | | | `instantiates` | `isolated_by` | | | | | | | | | | | | | | | -| `small-saas/user/ada-admin` | | | | | | | | | | | | | | | | `uses` | | | | | | | | `uses` | | | | | `instantiates` | | | | `access_evidenced_by` | | `has_access_under` | | | | `member_of` | | | | | | -| `standard/caring` | | | | | | | | | | | | | `conforms_to` | | | `imports` | `imports` | `imports` | `imports` | | | `imports` | `imports` | `imports` | | `imports` | `imports` | | | | | | | | | | | | | | | | | `imports` | -| `standard/tagging` | | | | | | | | | | | | | `conforms_to` | | | | | | | | | | | | | | `imports` | | | | | | | | | | | | | | | | | | +| Artifact | `comparison/repo-scoping/canon-benefit-analysis` | `comparison/repo-scoping/consumer-workplan-brief` | `comparison/repo-scoping/extension-candidates` | `comparison/repo-scoping/frame` | `comparison/repo-scoping/report` | `concept-catalog/purpose-demand` | `conformance/railiance-fabric` | `conformance/railiance-fabric/consumer-workplan-brief` | `conformance/railiance-fabric/entity-edge-capture-criteria` | `conformance/railiance-fabric/mapping-expectations` | `conformance/railiance-fabric/visualization-examples` | `evaluation/user-engine` | `evaluation/user-engine/consumer-workplan-brief` | `evaluation/user-engine/interface-card-expectations` | `evaluation/user-engine/questions` | `evaluation/user-engine/small-saas-alignment` | `example/consumer-purpose-portfolio` | `kernel/itc-core` | `kernel/itc-kernel-map` | `mapping/purpose-demand-governance-candidates` | `model/access-control` | `model/data` | `model/devsecops` | `model/governance` | `model/information-space` | `model/landscape` | `model/network` | `model/observability` | `model/organization` | `model/purpose-demand-extension` | `model/security` | `model/task` | `pattern/intent-scope-purposes` | `profile/small-saas` | `small-saas/control/namespace-per-tenant` | `small-saas/dataset/subscription-ledger` | `small-saas/deployment/production` | `small-saas/evidence/access-review-2026-05` | `small-saas/incident/cross-tenant-access-attempt` | `small-saas/policy/tenant-isolation` | `small-saas/service/billing-portal` | `small-saas/system/billing-system` | `small-saas/task/onboard-tenant` | `small-saas/team/platform` | `small-saas/tenant/acme` | `small-saas/tenant/globex` | `small-saas/user/ada-admin` | `standard/caring` | `standard/tagging` | +| --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | +| `comparison/repo-scoping/canon-benefit-analysis` | | | | | `part_of` | | | | | | | | | | | | | | | | | | | `maps` | `maps` | | | | | `maps` | | `maps` | | | | | | | | | | | | | | | | | `maps` | +| `comparison/repo-scoping/consumer-workplan-brief` | | | | | `part_of` | | | | | | | | | | | | | | | | | | | | | | | | | `uses` | | | | | | | | | | | | | | | | | | | | +| `comparison/repo-scoping/extension-candidates` | | | | | `part_of` | | | | | | | | | | | | | | | | | | | `proposes` | `proposes` | | | | | `proposes` | | `proposes` | | | | | | | | | | | | | | | | | | +| `comparison/repo-scoping/frame` | | | | | `part_of` | | | | | | | | | | | | | | | | | | | `uses` | | | | | | `uses` | | `uses` | | | | | | | | | | | | | | | | | | +| `comparison/repo-scoping/report` | | | | | | | | | | | | | | | | | | | | | | | | `uses` | `uses` | | | | | `compares` | | `uses` | `uses` | | | | | | | | | | | | | | | | | +| `concept-catalog/purpose-demand` | | | | | | | | | | | | | | | | | | `conforms_to` | | | | | | `uses` | | | | | | | | | | | | | | | | | | | | | | | | | | +| `conformance/railiance-fabric` | | | | | | | | | | | | | | | | | | | | | | `uses` | `uses` | `uses` | | `uses` | `uses` | `uses` | | `uses` | `uses` | `uses` | | | | | | | | | | | | | | | | | `uses` | +| `conformance/railiance-fabric/consumer-workplan-brief` | | | | | | | `part_of` | | | | | | | | | | | | | | | | | | | | | | | `uses` | | | | | | | | | | | | | | | | | | | | +| `conformance/railiance-fabric/entity-edge-capture-criteria` | | | | | | | `part_of` | | | | | | | | | | | | | | | `uses` | `uses` | `uses` | | `uses` | `uses` | `uses` | | `uses` | `uses` | `uses` | | | | | | | | | | | | | | | | | | +| `conformance/railiance-fabric/mapping-expectations` | | | | | | | `part_of` | | | | | | | | | | | | | | | `maps` | `maps` | `maps` | | `maps` | `maps` | `maps` | | `maps` | `maps` | | | | | | | | | | | | | | | | | | | +| `conformance/railiance-fabric/visualization-examples` | | | | | | | `part_of` | | `illustrates` | `illustrates` | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | +| `evaluation/user-engine` | | | | | | | | | | | | | | | | | | | | | `uses` | `uses` | | `uses` | | | | | `uses` | `uses` | `uses` | `uses` | | `evaluates` | | | | | | | | | | | | | | `uses` | | +| `evaluation/user-engine/consumer-workplan-brief` | | | | | | | | | | | | `part_of` | | | | | | | | | | | | | | | | | | `uses` | | | | | | | | | | | | | | | | | | | | +| `evaluation/user-engine/interface-card-expectations` | | | | | | | | | | | | `part_of` | | | | | | | | | | | | | | | | | | `uses` | | | | | | | | | | | | | | | | | | `uses` | | +| `evaluation/user-engine/questions` | | | | | | | | | | | | `part_of` | | | | | | | | | `uses` | `uses` | | `uses` | | | | | `uses` | `uses` | `uses` | `uses` | | | | | | | | | | | | | | | | | | +| `evaluation/user-engine/small-saas-alignment` | | | | | | | | | | | | `part_of` | | | | | | | | | `uses` | | | `uses` | | | | | `uses` | | | | | `evaluates` | | | | | | | | | | | | | | | | +| `example/consumer-purpose-portfolio` | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | `illustrates` | | | `illustrates` | `uses` | | | | | | | | | | | | | | | | +| `kernel/itc-core` | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | +| `kernel/itc-kernel-map` | | | | | | | | | | | | | | | | | | `maps` | | | `maps` | `maps` | `maps` | `maps` | `maps` | `maps` | `maps` | `maps` | `maps` | | `maps` | `maps` | | | | | | | | | | | | | | | | `maps` | `maps` | +| `mapping/purpose-demand-governance-candidates` | | | | | | | | | | | | | | | | | | | | | | | | `maps` | | | | | | `maps` | | `uses` | | | | | | | | | | | | | | | | | | +| `model/access-control` | | | | | | | | | | | | | | | | | | `conforms_to` | | | | | | `uses` | | | | | `uses` | | | | | | | | | | | | | | | | | | | | | +| `model/data` | | | | | | | | | | | | | | | | | | `conforms_to` | | | | | | `uses` | | | | | | | | | | | | | | | | | | | | | | | | | | +| `model/devsecops` | | | | | | | | | | | | | | | | | | `conforms_to` | | | | | | | | | | | | | `uses` | | | | | | | | | | | | | | | | | | | +| `model/governance` | | | | | | | | | | | | | | | | | | `conforms_to` | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | +| `model/information-space` | | | | | | | | | | | | | | | | | | `conforms_to` | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | +| `model/landscape` | | | | | | | | | | | | | | | | | | `conforms_to` | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | +| `model/network` | | | | | | | | | | | | | | | | | | `conforms_to` | | | | | | | | | | | | | `uses` | | | | | | | | | | | | | | | | | | | +| `model/observability` | | | | | | | | | | | | | | | | | | `conforms_to` | | | | | | | | | | | | | | `uses` | | | | | | | | | | | | | | | | | | +| `model/organization` | | | | | | | | | | | | | | | | | | `conforms_to` | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | +| `model/purpose-demand-extension` | | | | | | `introduces` | | | | | | | | | | | | `conforms_to` | | | | | | `extends` | `uses` | | | | | | | `uses` | | | | | | | | | | | | | | | | | | +| `model/security` | | | | | | | | | | | | | | | | | | `conforms_to` | | | `uses` | | | | | | | | | | | | | | | | | | | | | | | | | | | | | +| `model/task` | | | | | | | | | | | | | | | | | | `conforms_to` | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | +| `pattern/intent-scope-purposes` | | | | | | | | | | | | | | | | | | | | | | | | `uses` | | | | | | `implements` | | `uses` | | | | | | | | | | | | | | | | | | +| `profile/small-saas` | | | | | | | | | | | | | | | | | | `conforms_to` | | | `requires` | `requires` | `requires` | `requires` | | `requires` | `requires` | `requires` | `requires` | | `requires` | `requires` | | | | | | | | | | | | | | | | `requires` | `requires` | +| `small-saas/control/namespace-per-tenant` | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | `uses` | | | `instantiates` | | | | `evidenced_by` | | | | | | | | | | `uses` | | +| `small-saas/dataset/subscription-ledger` | | | | | | | | | | | | | | | | | | | | | | `uses` | | | | | | | | | | | | `instantiates` | | | | | | `governed_by` | `owned_by` | | | | `partitioned_for` | `partitioned_for` | | | | +| `small-saas/deployment/production` | | | | | | | | | | | | | | | | | | | | | | | `uses` | | | | `uses` | | | | | | | `instantiates` | `implements` | | | | | | `deploys` | | | | `separates` | `separates` | | | | +| `small-saas/evidence/access-review-2026-05` | | | | | | | | | | | | | | | | | | | | | | | | | | | | `uses` | | | | | | `instantiates` | | | | | | | | | | | | | | | | +| `small-saas/incident/cross-tenant-access-attempt` | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | `uses` | | | `instantiates` | `constrained_by` | | | `evidenced_by` | | | | | | | | | | | | +| `small-saas/policy/tenant-isolation` | | | | | | | | | | | | | | | | | | | | | | | | `uses` | | | | | | | | | | `instantiates` | `requires` | | | `evidenced_by` | | | | | | | | | | | | +| `small-saas/service/billing-portal` | | | | | | | | | | | | | | | | | | | | | | | | | | `uses` | | | | | | | | `instantiates` | | | | | | | | `part_of` | | `owned_by` | | | | | | +| `small-saas/system/billing-system` | | | | | | | | | | | | | | | | | | | | | | | | | | `uses` | | | | | | | | `instantiates` | | | | | | | | | | | `serves` | `serves` | | | | +| `small-saas/task/onboard-tenant` | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | `uses` | | `instantiates` | | | | | | `governed_by` | | | | `owned_by` | `changes` | | | | | +| `small-saas/team/platform` | | | | | | | | | | | | | | | | | | | | | | | | | | | | | `uses` | | | | | `instantiates` | | | | | | | | | | | | | | | | +| `small-saas/tenant/acme` | | | | | | | | | | | | | | | | | | | | | | | | | | | | | `uses` | | | | | `instantiates` | `isolated_by` | | | | | | | | | | | | `represented_by` | | | +| `small-saas/tenant/globex` | | | | | | | | | | | | | | | | | | | | | | | | | | | | | `uses` | | | | | `instantiates` | `isolated_by` | | | | | | | | | | | | | | | +| `small-saas/user/ada-admin` | | | | | | | | | | | | | | | | | | | | | `uses` | | | | | | | | `uses` | | | | | `instantiates` | | | | `access_evidenced_by` | | `has_access_under` | | | | `member_of` | | | | | | +| `standard/caring` | | | | | | | | | | | | | | | | | | `conforms_to` | | | `imports` | `imports` | `imports` | `imports` | | | `imports` | `imports` | `imports` | | `imports` | `imports` | | | | | | | | | | | | | | | | | `imports` | +| `standard/tagging` | | | | | | | | | | | | | | | | | | `conforms_to` | | | | | | | | | | | | | | `imports` | | | | | | | | | | | | | | | | | | diff --git a/infospace/views/kernel-overview.md b/infospace/views/kernel-overview.md index 8727d52..aded484 100644 --- a/infospace/views/kernel-overview.md +++ b/infospace/views/kernel-overview.md @@ -3,17 +3,21 @@ # Kernel Overview - Infospace: `canon` -- Artifacts: 44 +- Artifacts: 49 ## Artifact Kinds +- `benefit-analysis`: 1 - `capture-criteria`: 1 +- `comparison-frame`: 1 +- `comparison-report`: 1 - `concept-catalog`: 1 - `conformance-pack`: 1 -- `consumer-workplan-brief`: 2 +- `consumer-workplan-brief`: 3 - `evaluation-pack`: 1 - `evaluation-question-set`: 1 - `example`: 1 +- `extension-candidate-set`: 1 - `interface-card-expectation`: 1 - `kernel`: 2 - `mapping`: 1 @@ -31,6 +35,7 @@ - `access_evidenced_by`: 1 - `changes`: 1 +- `compares`: 1 - `conforms_to`: 16 - `constrained_by`: 1 - `deploys`: 1 @@ -45,13 +50,14 @@ - `instantiates`: 13 - `introduces`: 1 - `isolated_by`: 2 -- `maps`: 24 +- `maps`: 29 - `member_of`: 1 - `owned_by`: 3 -- `part_of`: 9 +- `part_of`: 13 - `partitioned_for`: 2 +- `proposes`: 4 - `represented_by`: 1 - `requires`: 13 - `separates`: 2 - `serves`: 2 -- `uses`: 71 +- `uses`: 79 diff --git a/infospace/views/repository-tree.md b/infospace/views/repository-tree.md index ed29d30..2656d1a 100644 --- a/infospace/views/repository-tree.md +++ b/infospace/views/repository-tree.md @@ -2,10 +2,15 @@ # Repository Tree -File count: **121** +File count: **131** - `README.md` - `agent/README.md` +- `agent/briefs/comparison-repo-scoping-canon-benefit-analysis.md` +- `agent/briefs/comparison-repo-scoping-consumer-workplan-brief.md` +- `agent/briefs/comparison-repo-scoping-extension-candidates.md` +- `agent/briefs/comparison-repo-scoping-frame.md` +- `agent/briefs/comparison-repo-scoping-report.md` - `agent/briefs/concept-catalog-purpose-demand.md` - `agent/briefs/conformance-railiance-fabric-consumer-workplan-brief.md` - `agent/briefs/conformance-railiance-fabric-entity-edge-capture-criteria.md` @@ -54,6 +59,11 @@ File count: **121** - `evaluations/railiance-fabric/entity-edge-capture-criteria.yaml` - `evaluations/railiance-fabric/mapping-expectations.yaml` - `evaluations/railiance-fabric/visualization-examples.yaml` +- `evaluations/repo-scoping/canon-benefit-analysis.yaml` +- `evaluations/repo-scoping/comparison-frame.yaml` +- `evaluations/repo-scoping/comparison-report.md` +- `evaluations/repo-scoping/consumer-workplan-brief.md` +- `evaluations/repo-scoping/extension-candidates.yaml` - `evaluations/user-engine/consumer-workplan-brief.md` - `evaluations/user-engine/evaluation-pack.yaml` - `evaluations/user-engine/interface-card-expectations.yaml` diff --git a/src/info_tech_canon/generation.py b/src/info_tech_canon/generation.py index 6673ba0..49fb106 100644 --- a/src/info_tech_canon/generation.py +++ b/src/info_tech_canon/generation.py @@ -10,13 +10,17 @@ import yaml GENERATED_NOTICE = "" RETRIEVAL_ARTIFACT_KINDS = { + "benefit-analysis", "capture-criteria", + "comparison-frame", + "comparison-report", "concept-catalog", "conformance-pack", "consumer-workplan-brief", "evaluation-pack", "evaluation-question-set", "example", + "extension-candidate-set", "interface-card-expectation", "kernel", "mapping", @@ -761,6 +765,10 @@ def _render_consumer_brief(consumer_id: str) -> str: "models/network/InfoTechCanonNetworkModel.md", ], "repo-scoping": [ + "evaluations/repo-scoping/comparison-report.md", + "evaluations/repo-scoping/comparison-frame.yaml", + "evaluations/repo-scoping/canon-benefit-analysis.yaml", + "evaluations/repo-scoping/extension-candidates.yaml", "models/governance/InfoTechCanonPurposeDemandExtension.md", "patterns/intent-scope-purposes.md", "agent/templates/canon-interface-card.template.yaml", @@ -861,8 +869,14 @@ def _safe_id(value: str) -> str: def _summary_for_artifact(artifact: Any) -> str: if artifact.kind == "profile-artifact": return f"Example artifact for the {artifact.provenance.get('profile', 'unknown')} profile: {artifact.title}." + if artifact.kind == "benefit-analysis": + return f"Consumer benefit analysis against canon surfaces: {artifact.title}." if artifact.kind == "capture-criteria": return f"Criteria for canonical entity and edge capture: {artifact.title}." + if artifact.kind == "comparison-frame": + return f"Structured comparison questions and domains: {artifact.title}." + if artifact.kind == "comparison-report": + return f"Canon-side comparison report: {artifact.title}." if artifact.kind == "concept-catalog": return f"Structured candidate concept catalog: {artifact.title}." if artifact.kind == "conformance-pack": @@ -875,6 +889,8 @@ def _summary_for_artifact(artifact: Any) -> str: return f"Structured canon evaluation question set: {artifact.title}." if artifact.kind == "example": return f"Canon-side example artifact: {artifact.title}." + if artifact.kind == "extension-candidate-set": + return f"Reviewable canon extension candidate set: {artifact.title}." if artifact.kind == "interface-card-expectation": return f"Expected Canon Interface Card fields and mappings: {artifact.title}." if artifact.kind == "mapping": diff --git a/src/info_tech_canon/validation.py b/src/info_tech_canon/validation.py index b7d6365..c5416db 100644 --- a/src/info_tech_canon/validation.py +++ b/src/info_tech_canon/validation.py @@ -53,7 +53,10 @@ REQUIRED_SCHEMAS = ( ) RETRIEVAL_BRIEF_KINDS = { + "benefit-analysis", "capture-criteria", + "comparison-frame", + "comparison-report", "concept-catalog", "conformance-pack", "consumer-workplan-brief", @@ -70,6 +73,7 @@ RETRIEVAL_BRIEF_KINDS = { "profile-alignment", "profile", "standard", + "extension-candidate-set", "visualization-example-set", } @@ -196,6 +200,49 @@ RAILIANCE_FABRIC_REQUIRED_MODELS = { "model/security", } +REPO_SCOPING_COMPARISON_ARTIFACT_IDS = { + "comparison/repo-scoping/canon-benefit-analysis", + "comparison/repo-scoping/consumer-workplan-brief", + "comparison/repo-scoping/extension-candidates", + "comparison/repo-scoping/frame", + "comparison/repo-scoping/report", +} + +REPO_SCOPING_REQUIRED_DOMAINS = { + "repository-intent", + "current-scope", + "future-scope", + "consumers-and-purposes", + "decisions-and-evidence", + "risks-and-regressions", + "evolution-requests", +} + +REPO_SCOPING_REQUIRED_MAPPINGS = { + "Scope", + "Ability", + "Capability", + "Feature", + "Evidence", + "ObservedFact", + "ReviewDecision", + "ExpectationGap", + "DependencyImpactAnalysis", +} + +REPO_SCOPING_REQUIRED_EXTENSION_CANDIDATES = { + "extension/repository-intent-statement", + "extension/repository-scope-profile", + "extension/characteristic-claim", + "extension/evidence-link", + "extension/source-observation", + "extension/source-role", + "extension/utility-relationship", + "extension/scope-freshness", + "extension/propagation-impact", + "extension/scope-md-interface", +} + def structural_checks(context: Any) -> dict[str, list[dict[str, Any]]]: errors: list[dict[str, Any]] = [] @@ -218,6 +265,11 @@ def structural_checks(context: Any) -> dict[str, list[dict[str, Any]]]: context.infospace.artifacts, errors, ) + _check_repo_scoping_comparison_assets( + context.infospace_root, + context.infospace.artifacts, + errors, + ) _check_optional_assets(context.infospace_root, warnings) return {"errors": errors, "warnings": warnings} @@ -948,6 +1000,173 @@ def _check_railiance_fabric_conformance_assets( ) +def _check_repo_scoping_comparison_assets( + infospace_root: Path, + artifacts: list[Any], + errors: list[dict[str, Any]], +) -> None: + artifact_ids = {artifact.id for artifact in artifacts} + for artifact_id in sorted(REPO_SCOPING_COMPARISON_ARTIFACT_IDS - artifact_ids): + errors.append( + { + "code": "missing_repo_scoping_comparison_artifact", + "artifact_id": artifact_id, + } + ) + + frame = _read_yaml( + infospace_root / "evaluations" / "repo-scoping" / "comparison-frame.yaml", + errors, + ) + if isinstance(frame, dict): + domains = frame.get("comparison_domains") or [] + if not isinstance(domains, list): + errors.append( + { + "code": "invalid_repo_scoping_comparison_domains", + "path": "infospace/evaluations/repo-scoping/comparison-frame.yaml", + } + ) + else: + domain_ids = { + str(domain.get("id")) + for domain in domains + if isinstance(domain, dict) and domain.get("id") + } + for domain_id in sorted(REPO_SCOPING_REQUIRED_DOMAINS - domain_ids): + errors.append( + { + "code": "missing_repo_scoping_comparison_domain", + "domain": domain_id, + } + ) + for domain in domains: + if not isinstance(domain, dict): + continue + if not domain.get("questions"): + errors.append( + { + "code": "empty_repo_scoping_comparison_domain", + "domain": domain.get("id"), + } + ) + if not domain.get("canon_anchors"): + errors.append( + { + "code": "missing_repo_scoping_domain_canon_anchors", + "domain": domain.get("id"), + } + ) + + analysis = _read_yaml( + infospace_root + / "evaluations" + / "repo-scoping" + / "canon-benefit-analysis.yaml", + errors, + ) + if isinstance(analysis, dict): + mappings = analysis.get("candidate_mappings") or [] + if not isinstance(mappings, list): + errors.append( + { + "code": "invalid_repo_scoping_candidate_mappings", + "path": "infospace/evaluations/repo-scoping/canon-benefit-analysis.yaml", + } + ) + else: + mapped_concepts = { + str(mapping.get("repo_scoping_concept")) + for mapping in mappings + if isinstance(mapping, dict) and mapping.get("repo_scoping_concept") + } + for concept in sorted(REPO_SCOPING_REQUIRED_MAPPINGS - mapped_concepts): + errors.append( + { + "code": "missing_repo_scoping_candidate_mapping", + "concept": concept, + } + ) + + direct_reuse = analysis.get("direct_reuse") or [] + if not isinstance(direct_reuse, list) or not direct_reuse: + errors.append( + { + "code": "missing_repo_scoping_direct_reuse", + "path": "infospace/evaluations/repo-scoping/canon-benefit-analysis.yaml", + } + ) + + profile_candidates = analysis.get("profile_candidates") or [] + if not isinstance(profile_candidates, list) or not profile_candidates: + errors.append( + { + "code": "missing_repo_scoping_profile_candidates", + "path": "infospace/evaluations/repo-scoping/canon-benefit-analysis.yaml", + } + ) + + extensions = _read_yaml( + infospace_root + / "evaluations" + / "repo-scoping" + / "extension-candidates.yaml", + errors, + ) + if isinstance(extensions, dict): + if not extensions.get("candidate_set_status"): + errors.append( + { + "code": "missing_repo_scoping_candidate_set_status", + "path": "infospace/evaluations/repo-scoping/extension-candidates.yaml", + } + ) + candidates = extensions.get("candidates") or [] + if not isinstance(candidates, list): + errors.append( + { + "code": "invalid_repo_scoping_extension_candidates", + "path": "infospace/evaluations/repo-scoping/extension-candidates.yaml", + } + ) + else: + candidate_ids = { + str(candidate.get("id")) + for candidate in candidates + if isinstance(candidate, dict) and candidate.get("id") + } + for candidate_id in sorted( + REPO_SCOPING_REQUIRED_EXTENSION_CANDIDATES - candidate_ids + ): + errors.append( + { + "code": "missing_repo_scoping_extension_candidate", + "candidate": candidate_id, + } + ) + for candidate in candidates: + if isinstance(candidate, dict) and not candidate.get("review_question"): + errors.append( + { + "code": "missing_repo_scoping_extension_review_question", + "candidate": candidate.get("id"), + } + ) + + for filename, code in ( + ("comparison-report.md", "missing_repo_scoping_comparison_report"), + ("consumer-workplan-brief.md", "missing_repo_scoping_consumer_workplan_brief"), + ): + path = infospace_root / "evaluations" / "repo-scoping" / filename + if not path.is_file(): + errors.append( + { + "code": code, + "path": str(Path("infospace") / "evaluations" / "repo-scoping" / filename), + } + ) + + def _artifact_paths_by_path( infospace_root: Path, errors: list[dict[str, Any]], diff --git a/tests/test_cli.py b/tests/test_cli.py index 33112b1..39aed60 100644 --- a/tests/test_cli.py +++ b/tests/test_cli.py @@ -11,7 +11,7 @@ def test_cli_inspect_emits_json(capsys) -> None: assert exit_code == 0 payload = json.loads(capsys.readouterr().out) assert payload["ok"] is True - assert payload["infospace"]["artifact_count"] == 44 + assert payload["infospace"]["artifact_count"] == 49 def test_cli_missing_profile_uses_structured_error(capsys) -> None: diff --git a/tests/test_service.py b/tests/test_service.py index 6b6d946..9952e1d 100644 --- a/tests/test_service.py +++ b/tests/test_service.py @@ -19,15 +19,19 @@ def test_inspect_canon_counts_artifact_kinds() -> None: assert payload["ok"] is True assert payload["infospace"]["slug"] == "canon" - assert payload["infospace"]["artifact_count"] == 44 + assert payload["infospace"]["artifact_count"] == 49 assert payload["infospace"]["kinds"] == { + "benefit-analysis": 1, "capture-criteria": 1, + "comparison-frame": 1, + "comparison-report": 1, "concept-catalog": 1, "conformance-pack": 1, - "consumer-workplan-brief": 2, + "consumer-workplan-brief": 3, "evaluation-pack": 1, "evaluation-question-set": 1, "example": 1, + "extension-candidate-set": 1, "interface-card-expectation": 1, "kernel": 2, "mapping": 1, @@ -54,14 +58,14 @@ def test_validate_canon_passes_scaffold() -> None: assert payload["ok"] is True assert payload["errors"] == [] assert "warnings" in payload - assert payload["details"]["artifact_count"] == 44 + assert payload["details"]["artifact_count"] == 49 def test_graph_exports_relationship_summary() -> None: payload = artifact_graph() assert payload["ok"] is True - assert payload["graph"]["node_count"] == 44 + assert payload["graph"]["node_count"] == 49 assert payload["graph"]["edge_count"] > 15 @@ -108,6 +112,9 @@ def test_generators_write_expected_assets(tmp_path) -> None: assert ( root / "agent" / "briefs" / "conformance-railiance-fabric.md" ).is_file() + assert ( + root / "agent" / "briefs" / "comparison-repo-scoping-report.md" + ).is_file() assert (root / "agent" / "briefs" / "pattern-intent-scope-purposes.md").is_file() assert ( root / "agent" / "templates" / "canon-interface-card.template.yaml" diff --git a/workplans/ITC-WP-0009-repo-scoping-comparison-and-extension.md b/workplans/ITC-WP-0009-repo-scoping-comparison-and-extension.md index 675a9bb..89f0f0a 100644 --- a/workplans/ITC-WP-0009-repo-scoping-comparison-and-extension.md +++ b/workplans/ITC-WP-0009-repo-scoping-comparison-and-extension.md @@ -4,7 +4,7 @@ type: workplan title: "Repo Scoping Comparison And Extension" domain: canon repo: info-tech-canon -status: proposed +status: finished priority: high created: "2026-05-23" updated: "2026-05-23" @@ -34,7 +34,7 @@ produce extension candidates rather than silently blending models. ```task id: ITC-WP-0009-T01 -status: todo +status: done priority: high state_hub_task_id: "7f5b0093-29b8-453f-ab73-c44db71cde52" ``` @@ -47,7 +47,7 @@ state_hub_task_id: "7f5b0093-29b8-453f-ab73-c44db71cde52" ```task id: ITC-WP-0009-T02 -status: todo +status: done priority: high state_hub_task_id: "d026d36b-e89d-4498-9c07-0f2e7f0c3c4c" ``` @@ -59,7 +59,7 @@ state_hub_task_id: "d026d36b-e89d-4498-9c07-0f2e7f0c3c4c" ```task id: ITC-WP-0009-T03 -status: todo +status: done priority: high state_hub_task_id: "98888f6a-774f-4e6b-93f4-335fb3001e9c" ``` @@ -72,7 +72,7 @@ state_hub_task_id: "98888f6a-774f-4e6b-93f4-335fb3001e9c" ```task id: ITC-WP-0009-T04 -status: todo +status: done priority: medium state_hub_task_id: "5b8ac21c-e0e4-4e45-817c-a91111712c82" ``` @@ -85,3 +85,14 @@ state_hub_task_id: "5b8ac21c-e0e4-4e45-817c-a91111712c82" - There is a clear comparison report. - Canon extension candidates are explicit. - Repo-scoping can plan adoption from its own repository. + +## Implementation Notes + +- Added a repo-scoping comparison frame, canon benefit analysis, extension + candidate set, comparison report, and consumer workplan brief under + `infospace/evaluations/repo-scoping/`. +- Registered all repo-scoping comparison assets in the artifact index and + retrieval generation flow. +- Added structural validation for the comparison domains, candidate mappings, + extension candidates, and markdown deliverables. +- Regenerated agent briefs, indexes, tree views, and validation output. diff --git a/workplans/index.yaml b/workplans/index.yaml index ad780aa..2c050ee 100644 --- a/workplans/index.yaml +++ b/workplans/index.yaml @@ -123,7 +123,7 @@ workplans: - id: ITC-WP-0009 title: Repo Scoping Comparison And Extension - status: proposed + status: finished priority: high path: workplans/ITC-WP-0009-repo-scoping-comparison-and-extension.md depends_on: