-
Notifications
You must be signed in to change notification settings - Fork 0
ADR 017 knowledgecomplex as Optional Extras
Status: Accepted Date: 2026-05-16 Deciders: Michael Zargham Related: ADR-013 Simplicial Complex as Derived View When Built; ADR-003 Topological Framework Documented as Future Work; Design Spec
The simplicial-complex derived view (see ADR-013 Simplicial Complex as Derived View When Built) is useful to research users and to the future topological framework (see ADR-003 Topological Framework Documented as Future Work), but it is not required for v0.1's traditional analysis or attestation infrastructure. Bundling it into the default flexo-rtm install adds dependency surface (graph-analysis libraries, simplicial-complex tooling) that ordinary adopters do not need. The question is whether the simplicial-complex tooling ships as a required dependency, a vendored subset, or an optional extras package. See Design Spec §7.5 and ADR-013 Simplicial Complex as Derived View When Built.
flexo-rtm v0.1 ships simplicial-complex tooling as an optional extras package: pip install flexo-rtm[analysis] (or equivalent) installs the knowledgecomplex dependency and the SPARQL CONSTRUCT recipes that derive the complex view. The default install (pip install flexo-rtm) does not include knowledgecomplex — adopters who only need traditional analysis and attestation get a lean install.
- Default install is lean — adopters running traditional analysis and OSLC roundtrip don't pull in simplicial-complex dependencies
- The
[analysis]extras flag is the standard Python pattern for opt-in capability; familiar to adopters - Research users and adopters experimenting with the future topological framework opt in explicitly via the extras flag; the experimental capability is gated by deliberate install choice
- Forward-compatible: when the topological framework lands,
[analysis]is the natural home for its tooling — adopters upgrading to use it install the extras
- Adopters discovering they need complex analysis after the fact have to reinstall with the extras flag; mitigated by a clear error message that points them at the install hint
- The two-install paths (with and without extras) double the CI test matrix; mitigated by the default path being the comprehensive test surface and the extras path adding only the complex-specific tests
- Extras pattern composes cleanly with the three-layer architecture (see ADR-006 Three-Layer Architecture) — extras are an analysis-layer optional capability, not operational- or storage-layer
-
Required (default install): Bundle
knowledgecomplexinto the default install. Rejected: pulls in graph-analysis dependencies that the majority of v0.1 adopters do not need. The simplicial-complex view is an opt-in research capability today; bundling it makes every install heavier for no benefit to most adopters. -
Vendored subset: Vendor the parts of
knowledgecomplexflexo-rtmdirectly uses into the core package; do not depend on the external library. Rejected: vendoring is a maintenance burden — vendored code drifts from upstream and has to be re-synced manually. The extras pattern letsknowledgecomplexevolve upstream andflexo-rtm[analysis]track it cleanly.
-
flexo-rtmpackaging (pyproject.toml) declares[project.optional-dependencies]with ananalysisextra that pullsknowledgecomplex - The complex-derivation code in
oracle/src/oracle/analysis/complex/importsknowledgecomplexlazily; default-install adopters never hit the import - CI runs the test matrix with and without the extras; tests that exercise complex derivation are gated by
pytest.importorskip("knowledgecomplex") - Documentation at Three-Layer Architecture notes the optional nature; README install instructions surface both paths
- Design Spec §7.5 (Optional Extras Packaging)
- ADR-013 Simplicial Complex as Derived View When Built — the derived view this extras hosts
- ADR-003 Topological Framework Documented as Future Work — the framework that this extras supports researching today
- Flexo Git Coexistence
- ADCS Prototype Lessons
- MVC Pattern from RIME TRL ANT
- Human-AI Accountability
- Multi-Agent Discourse Graph Precedent
- OSLC RM and QM Review
- INCOSE V2 Review
- OMG SysMLv2
- PROV EARL GSN P-PLAN
- Dragon Architecture and Mission Enterprise
- Traditional Forward and Backward Analysis
- Attestation Infrastructure in v0.1
- Identity Boundaries and Policy Projections
- External URI References
- Signed Envelopes and Established Standards
- Aspect Coverage with Adequacy and Sufficiency
- Federated Audit and Composition
- Certification Predicate
- Gap Taxonomy
- Quantitative Outcomes
- Engineering Lifecycle Stages (v0.2)
- Topological Framework Future Work (research phase)
- Vertices Edges Faces (research phase)
- Three-Layer Architecture
- Operational Layer UX Discipline
- Storage Layer Flexo Conventions
- Analysis Layer Scope Algebra
- OSLC Roundtrip Acceptance
- Identity Adapter Contract
- Flexo REST Binding
- SysMLv2 Ingestion Contract
- External URI Rules
- Signed Envelope Shapes
- Parsimony Manifest
- Lossless Roundtrip Definition
- Vendor Extension Carry-Through
- OSLC RM Adapter Contract
- OSLC QM Adapter Contract
- ADR Template
- ADR-001 Foundations First Approach
- ADR-002 SysMLv2 Anchoring
- ADR-003 Topological Framework Documented as Future Work
- ADR-003a v0.1 Ships Traditional Analysis Only
- ADR-004 Quantitative Certification Outcome
- ADR-005 Adequacy and Sufficiency as Guidance Subtypes
- ADR-006 Three-Layer Architecture
- ADR-007 Scope as First-Class RDF Resource
- ADR-008 Repo Name and Org Transfer Plan
- ADR-009 Two-Repo Strategy
- ADR-010 OSLC-RM and OSLC-QM in v0.1
- ADR-011 Lossless Criterion A plus C
- ADR-012 Direct RDF Properties over Reified Edges
- ADR-013 Simplicial Complex as Derived View When Built
- ADR-014 Parsimony Layer Build-Time Extraction
- ADR-015 GSN Adoption for Adequacy and Sufficiency
- ADR-016 Composable SHACL Profiles
- ADR-017 knowledgecomplex as Optional Extras
- ADR-018 V minus F Invariant Deferred with Topological Framework
- ADR-019 Derived Binary View from Quantitative Metrics
- ADR-020 Vocabulary Alignment with Zargham 2026
- ADR-021 Three Attestation Subclasses Ship in v0.1
- ADR-022 External URI References as Open-Source Foundation
- ADR-023 Cryptography by Composition of Battle-Tested Standards
- ADR-024 Identity by Thin Projection of External Sources
- ADR-025 Reproducibility is Structural and Local
- ADR-026 Cryptographic Agility via Algorithm Profiles
- ADR-027 Bit-Exactness vs Numerical Tolerances Are Both First-Class
- ADR-028 Scope-Level Adequacy and Sufficiency for Federated Audit
- ADR-029 Engineering Lifecycle Stages as Scope Metadata
- ADR-030 Polycentric ASOT Authority Model
- ADR-031 Attestation Status Pass Fail Deferred Deprecated
- ADR-032 Methodology Agnosticism as Foundational Axiom
- ADR-033 Generalized ASOT Principle for All Identified Things