oc_chat
Loading...
Searching...
No Matches
invariant_matrix.py File Reference

Go to the source code of this file.

Classes

class  oc_chat.registry.invariant_matrix.DdlConstraint
class  oc_chat.registry.invariant_matrix.Marker
class  oc_chat.registry.invariant_matrix.MatrixRow
class  oc_chat.registry.invariant_matrix.Matrix

Namespaces

namespace  oc_chat
namespace  oc_chat.registry
namespace  oc_chat.registry.invariant_matrix

Functions

str oc_chat.registry.invariant_matrix._slug (str text)
list[str] oc_chat.registry.invariant_matrix._split_table_body (str body)
list[DdlConstraint] oc_chat.registry.invariant_matrix._parse_column_clause (str table, str clause)
list[DdlConstraint] oc_chat.registry.invariant_matrix._parse_table_constraint_clause (str table, str clause)
list[DdlConstraint] oc_chat.registry.invariant_matrix._parse_create_tables (str sql)
list[DdlConstraint] oc_chat.registry.invariant_matrix._parse_indexes_and_triggers (str sql)
list[DdlConstraint] oc_chat.registry.invariant_matrix._parse_store_scope ()
list[DdlConstraint] oc_chat.registry.invariant_matrix.parse_ddl_inventory (Path sql_path=SCHEMA_V0_3_1_SQL, *, bool include_store_scope=True)
list[Marker] oc_chat.registry.invariant_matrix.extract_markers (str text, *, str form, str source)
list[Marker] oc_chat.registry.invariant_matrix.extract_doc_markers (Path doc_path=V0_3_1_DOC)
list[Marker] oc_chat.registry.invariant_matrix.extract_code_markers (tuple[Path,...] files=ENFORCEMENT_CODE_FILES)
str oc_chat.registry.invariant_matrix._hash_lines (list[str] lines)
str oc_chat.registry.invariant_matrix.constraint_inventory_hash (list[DdlConstraint] ddl)
str oc_chat.registry.invariant_matrix.app_invariant_inventory_hash (list[Marker] markers)
MatrixRow oc_chat.registry.invariant_matrix._D (str witness_id, str handling, **object kw)
MatrixRow oc_chat.registry.invariant_matrix._R (str rule, str ac, str code, str neg_fixture, str handling)
MatrixRow oc_chat.registry.invariant_matrix._X (str ratification, str handling)
MatrixRow oc_chat.registry.invariant_matrix._NA (str handling)
dict[str, MatrixRow] oc_chat.registry.invariant_matrix._build_classification ()
Matrix oc_chat.registry.invariant_matrix.generate_matrix (Path sql_path=SCHEMA_V0_3_1_SQL, Path doc_path=V0_3_1_DOC, tuple[Path,...] code_files=ENFORCEMENT_CODE_FILES)
list[str] oc_chat.registry.invariant_matrix.verify_matrix (Matrix matrix)
list[str] oc_chat.registry.invariant_matrix.code_markers_not_in_matrix (Matrix matrix)
list[str] oc_chat.registry.invariant_matrix.unimplemented_r_rows (Matrix matrix)
set[str] oc_chat.registry.invariant_matrix.app_layer_invariant_ids (Optional[dict[str, MatrixRow]] classification=None)
dict[str, object] oc_chat.registry.invariant_matrix.build_audit_payload (Optional[Matrix] matrix=None)

Variables

str oc_chat.registry.invariant_matrix._ORCH = Path(__file__).resolve().parents[1] / "docs" / "architecture" / "orchestration"
str oc_chat.registry.invariant_matrix.SCHEMA_V0_3_1_SQL = _ORCH / "REGISTRY_SCHEMA_V0_3_1.sql"
str oc_chat.registry.invariant_matrix.V0_3_1_DOC = _ORCH / "REGISTRY_ROADMAP_SCHEMA_V0_3_1.md"
str oc_chat.registry.invariant_matrix._REGEN = Path(__file__).resolve().parent / "regenerate"
tuple oc_chat.registry.invariant_matrix.ENFORCEMENT_CODE_FILES
frozenset oc_chat.registry.invariant_matrix.SOURCE_POPULATED_TABLES
frozenset oc_chat.registry.invariant_matrix.NEVER_WRITTEN_TABLES
frozenset oc_chat.registry.invariant_matrix.RUNTIME_TABLES
frozenset oc_chat.registry.invariant_matrix.VALID_CLASSES = frozenset({"D", "R", "X", "NA"})
frozenset oc_chat.registry.invariant_matrix.WITNESS_TYPES
 oc_chat.registry.invariant_matrix._CREATE_TABLE_RE
 oc_chat.registry.invariant_matrix._CREATE_UNIQUE_INDEX_RE
 oc_chat.registry.invariant_matrix._CREATE_TRIGGER_RE
 oc_chat.registry.invariant_matrix._ALTER_ADD_COLUMN_RE
tuple oc_chat.registry.invariant_matrix._SQL_RESERVED_CLAUSE_HEADS = ("CHECK", "PRIMARY", "UNIQUE", "FOREIGN", "CONSTRAINT")
 oc_chat.registry.invariant_matrix._HTML_MARKER_RE = re.compile(r"<!--\s*@invariant:\s*([A-Za-z0-9._:>-]+)\s*-->")
 oc_chat.registry.invariant_matrix._SQL_MARKER_RE = re.compile(r"--\s*@invariant:\s*([A-Za-z0-9._:>-]+)")
 oc_chat.registry.invariant_matrix._CODE_MARKER_RE = re.compile(r"#\s*@invariant:\s*([A-Za-z0-9._:>-]+)")
dict oc_chat.registry.invariant_matrix.WITNESS_REGISTRY
 oc_chat.registry.invariant_matrix._VERSION_LINEAGE_ROW
str oc_chat.registry.invariant_matrix._DV = "inv.version_lineage_derived"
dict oc_chat.registry.invariant_matrix._EXPLICIT
dict oc_chat.registry.invariant_matrix._APP_LAYER
dict oc_chat.registry.invariant_matrix.CLASSIFICATION = _build_classification()