repositories / termux-janitor
termux-janitor
Interactive cleanup assistant for Termux: transparent, safe, confirmed disk reclamation.
owned by admin
spec/model/requirements.zon
Raw.{
.{
.title = "Governance",
.requirements = .{
.{
.id = "TJ-GOV-01",
.revision = 1,
.status = .accepted,
.label = "normative and observed truth",
.owner = "spec/GOVERNANCE.md#truth-and-ownership",
.suites = .{.u},
.invariant_status = .mapped,
.platform_evidence_status = .not_required,
.limitation_status = .recorded,
.limitation_references = .{"spec/fixtures/requirements/manifest.md#limitations"},
},
.{
.id = "TJ-GOV-02",
.revision = 1,
.status = .accepted,
.label = "one authoritative owner per fact",
.owner = "spec/GOVERNANCE.md#truth-and-ownership",
.suites = .{.u},
.invariant_status = .mapped,
.platform_evidence_status = .not_required,
.limitation_status = .recorded,
.limitation_references = .{"spec/fixtures/requirements/manifest.md#limitations"},
},
.{
.id = "TJ-GOV-03",
.revision = 1,
.status = .accepted,
.label = "stability-directed correction",
.owner = "spec/GOVERNANCE.md#stability-and-evidence",
.suites = .{.u},
.invariant_status = .mapped,
.platform_evidence_status = .not_required,
.limitation_status = .recorded,
.limitation_references = .{"spec/fixtures/requirements/manifest.md#limitations"},
},
.{
.id = "TJ-GOV-04",
.revision = 1,
.status = .accepted,
.label = "bidirectional learning path",
.owner = "spec/GOVERNANCE.md#stability-and-evidence",
.suites = .{.u},
.invariant_status = .mapped,
.platform_evidence_status = .not_required,
.limitation_status = .recorded,
.limitation_references = .{"spec/fixtures/requirements/manifest.md#limitations"},
},
.{
.id = "TJ-GOV-05",
.revision = 1,
.status = .accepted,
.label = "independent status, stability, and evidence",
.owner = "spec/GOVERNANCE.md#stability-and-evidence",
.suites = .{.u},
.invariant_status = .mapped,
.platform_evidence_status = .not_required,
.limitation_status = .recorded,
.limitation_references = .{"spec/fixtures/requirements/manifest.md#limitations"},
},
.{
.id = "TJ-GOV-06",
.revision = 1,
.status = .accepted,
.label = "temporary divergence and gated convergence",
.owner = "spec/GOVERNANCE.md#refinement-and-convergence",
.suites = .{.u},
.invariant_status = .mapped,
.platform_evidence_status = .not_required,
.limitation_status = .recorded,
.limitation_references = .{"spec/fixtures/requirements/manifest.md#limitations"},
},
.{
.id = "TJ-GOV-07",
.revision = 1,
.status = .accepted,
.label = "complete normative change protocol",
.owner = "spec/GOVERNANCE.md#refinement-and-convergence",
.suites = .{.u},
.invariant_status = .mapped,
.platform_evidence_status = .not_required,
.limitation_status = .recorded,
.limitation_references = .{"spec/fixtures/requirements/manifest.md#limitations"},
},
.{
.id = "TJ-GOV-08",
.revision = 1,
.status = .accepted,
.label = "conflict detection and resolution",
.owner = "spec/GOVERNANCE.md#conflict-handling",
.suites = .{.u},
.invariant_status = .mapped,
.platform_evidence_status = .not_required,
.limitation_status = .recorded,
.limitation_references = .{"spec/fixtures/requirements/manifest.md#limitations"},
},
.{
.id = "TJ-GOV-09",
.revision = 1,
.status = .accepted,
.label = "explicit exploration",
.owner = "spec/GOVERNANCE.md#progressive-calcification",
.suites = .{.u},
.invariant_status = .mapped,
.platform_evidence_status = .not_required,
.limitation_status = .recorded,
.limitation_references = .{"spec/fixtures/requirements/manifest.md#limitations"},
},
.{
.id = "TJ-GOV-10",
.revision = 1,
.status = .accepted,
.label = "justified calcification",
.owner = "spec/GOVERNANCE.md#progressive-calcification",
.suites = .{.u},
.invariant_status = .mapped,
.platform_evidence_status = .not_required,
.limitation_status = .recorded,
.limitation_references = .{"spec/fixtures/requirements/manifest.md#limitations"},
},
.{
.id = "TJ-GOV-11",
.revision = 1,
.status = .accepted,
.label = "reopening calcified rules",
.owner = "spec/GOVERNANCE.md#progressive-calcification",
.suites = .{.u},
.invariant_status = .mapped,
.platform_evidence_status = .not_required,
.limitation_status = .recorded,
.limitation_references = .{"spec/fixtures/requirements/manifest.md#limitations"},
},
.{
.id = "TJ-GOV-12",
.revision = 1,
.status = .accepted,
.label = "specification-tool boundary",
.owner = "spec/GOVERNANCE.md#specification-tooling",
.suites = .{.u},
.invariant_status = .mapped,
.platform_evidence_status = .not_required,
.limitation_status = .recorded,
.limitation_references = .{"spec/fixtures/requirements/manifest.md#limitations"},
},
.{
.id = "TJ-GOV-13",
.revision = 1,
.status = .accepted,
.label = "skill-shaped agent document discovery",
.owner = "spec/GOVERNANCE.md#agent-document-discovery",
.suites = .{.u},
.invariant_status = .mapped,
.platform_evidence_status = .not_required,
.limitation_status = .recorded,
.limitation_references = .{"spec/fixtures/requirements/manifest.md#limitations"},
},
.{
.id = "TJ-GOV-14",
.revision = 1,
.status = .accepted,
.label = "structured specification to generated code",
.owner = "spec/GOVERNANCE.md#progressive-calcification",
.suites = .{.u},
.invariant_status = .mapped,
.platform_evidence_status = .not_required,
.limitation_status = .recorded,
.limitation_references = .{"spec/fixtures/requirements/manifest.md#limitations"},
},
},
},
.{
.title = "Purpose and guarantees",
.requirements = .{
.{
.id = "TJ-GOAL-01",
.revision = 1,
.status = .accepted,
.label = "product direction",
.owner = "spec/GOALS.md",
.suites = .{.m},
.invariant_status = .mapped,
.platform_evidence_status = .required_missing,
.limitation_status = .recorded,
.limitation_references = .{"spec/fixtures/requirements/manifest.md#limitations"},
},
.{
.id = "TJ-CORE-01",
.revision = 1,
.status = .accepted,
.label = "interactive confirmation gates cleanup",
.owner = "spec/PRODUCT.md#2-core-guarantees",
.suites = .{ .sm, .pty, .sim },
.invariant_status = .mapped,
.platform_evidence_status = .not_required,
.limitation_status = .recorded,
.limitation_references = .{"spec/fixtures/confirmation/exact.md#limitations"},
},
.{
.id = "TJ-CORE-02",
.revision = 1,
.status = .accepted,
.label = "every preselection is inspectable and changeable",
.owner = "spec/PRODUCT.md#2-core-guarantees",
.suites = .{ .sm, .r, .pty },
.invariant_status = .mapped,
.platform_evidence_status = .not_required,
.limitation_status = .recorded,
.limitation_references = .{"spec/fixtures/requirements/manifest.md#limitations"},
},
.{
.id = "TJ-CORE-03",
.revision = 1,
.status = .accepted,
.label = "sensitive findings remain individually selectable but bulk-safe",
.owner = "spec/PRODUCT.md#2-core-guarantees",
.suites = .{ .u, .sm, .r },
.invariant_status = .mapped,
.platform_evidence_status = .not_required,
.limitation_status = .recorded,
.limitation_references = .{"spec/fixtures/requirements/manifest.md#limitations"},
},
.{
.id = "TJ-CORE-04",
.revision = 1,
.status = .accepted,
.label = "recommendations have human-readable evidence",
.owner = "spec/PRODUCT.md#2-core-guarantees",
.suites = .{ .u, .r },
.invariant_status = .mapped,
.platform_evidence_status = .not_required,
.limitation_status = .recorded,
.limitation_references = .{"spec/fixtures/requirements/manifest.md#limitations"},
},
.{
.id = "TJ-CORE-05",
.revision = 1,
.status = .accepted,
.label = "direct mutation revalidates complete authority",
.owner = "spec/PRODUCT.md#2-core-guarantees",
.suites = .{ .a, .sm, .sim, .m },
.invariant_status = .mapped,
.platform_evidence_status = .required_missing,
.limitation_status = .recorded,
.limitation_references = .{"spec/fixtures/requirements/manifest.md#limitations"},
},
.{
.id = "TJ-CORE-06",
.revision = 1,
.status = .accepted,
.label = "symlink targets are never mutation targets",
.owner = "spec/PRODUCT.md#2-core-guarantees",
.suites = .{ .u, .a, .sim },
.invariant_status = .mapped,
.platform_evidence_status = .not_required,
.limitation_status = .recorded,
.limitation_references = .{"spec/fixtures/requirements/manifest.md#limitations"},
},
.{
.id = "TJ-CORE-07",
.revision = 1,
.status = .accepted,
.label = "no privilege escalation",
.owner = "spec/PRODUCT.md#2-core-guarantees",
.suites = .{ .u, .a, .m },
.invariant_status = .mapped,
.platform_evidence_status = .required_missing,
.limitation_status = .recorded,
.limitation_references = .{"spec/fixtures/requirements/manifest.md#limitations"},
},
.{
.id = "TJ-CORE-08",
.revision = 1,
.status = .accepted,
.label = "no persisted scan metadata or telemetry",
.owner = "spec/PRODUCT.md#2-core-guarantees",
.suites = .{.a},
.invariant_status = .mapped,
.platform_evidence_status = .not_required,
.limitation_status = .recorded,
.limitation_references = .{"spec/fixtures/requirements/manifest.md#limitations"},
},
.{
.id = "TJ-CORE-09",
.revision = 1,
.status = .accepted,
.label = "incompleteness is always visible",
.owner = "spec/PRODUCT.md#2-core-guarantees",
.suites = .{ .u, .sm, .r, .sim },
.invariant_status = .mapped,
.platform_evidence_status = .not_required,
.limitation_status = .recorded,
.limitation_references = .{"spec/fixtures/requirements/manifest.md#limitations"},
},
.{
.id = "TJ-CORE-10",
.revision = 1,
.status = .accepted,
.label = "package state changes use the owner",
.owner = "spec/PRODUCT.md#2-core-guarantees",
.suites = .{ .u, .a, .sm },
.invariant_status = .mapped,
.platform_evidence_status = .not_required,
.limitation_status = .recorded,
.limitation_references = .{"spec/fixtures/requirements/manifest.md#limitations"},
},
.{
.id = "TJ-CORE-11",
.revision = 1,
.status = .accepted,
.label = "external calls are exceptional and shell-free",
.owner = "spec/PRODUCT.md#2-core-guarantees",
.suites = .{ .u, .a },
.invariant_status = .mapped,
.platform_evidence_status = .not_required,
.limitation_status = .recorded,
.limitation_references = .{"spec/fixtures/requirements/manifest.md#limitations"},
},
},
},
.{
.title = "Concepts and terminology",
.requirements = .{
.{
.id = "TJ-CONCEPT-01",
.revision = 1,
.status = .accepted,
.label = "canonical concept registry",
.owner = "spec/model/concepts.zon",
.suites = .{.u},
.invariant_status = .mapped,
.platform_evidence_status = .not_required,
.limitation_status = .recorded,
.limitation_references = .{"spec/fixtures/requirements/manifest.md#limitations"},
},
.{
.id = "TJ-CONCEPT-02",
.revision = 1,
.status = .accepted,
.label = "generated glossary and concept identifiers",
.owner = "spec/PRODUCT.md#3-terminology",
.suites = .{ .u, .r },
.invariant_status = .mapped,
.platform_evidence_status = .not_required,
.limitation_status = .recorded,
.limitation_references = .{"spec/fixtures/requirements/manifest.md#limitations"},
},
.{
.id = "TJ-CONCEPT-03",
.revision = 1,
.status = .accepted,
.label = "concept relationships and requirement references",
.owner = "spec/model/concepts.zon",
.suites = .{.u},
.invariant_status = .mapped,
.platform_evidence_status = .not_required,
.limitation_status = .recorded,
.limitation_references = .{"spec/fixtures/requirements/manifest.md#limitations"},
},
},
},
.{
.title = "Scope, traversal, and capabilities",
.requirements = .{
.{
.id = "TJ-SCAN-01",
.revision = 1,
.status = .accepted,
.label = "default and configured roots",
.owner = "spec/PRODUCT.md#41-default-scan-roots",
.suites = .{ .u, .a },
.invariant_status = .mapped,
.platform_evidence_status = .not_required,
.limitation_status = .recorded,
.limitation_references = .{"spec/fixtures/requirements/manifest.md#limitations"},
},
.{
.id = "TJ-SCAN-02",
.revision = 1,
.status = .accepted,
.label = "traversal attempt membership and outcomes",
.owner = "spec/FILESYSTEM_CAPABILITIES.md#traversal-attempt-model",
.suites = .{ .a, .sim },
.invariant_status = .mapped,
.platform_evidence_status = .not_required,
.limitation_status = .recorded,
.limitation_references = .{"spec/fixtures/requirements/manifest.md#limitations"},
},
.{
.id = "TJ-SCAN-03",
.revision = 1,
.status = .accepted,
.label = "lexical root initialization",
.owner = "spec/FILESYSTEM_CAPABILITIES.md#root-initialization",
.suites = .{ .u, .a },
.invariant_status = .mapped,
.platform_evidence_status = .not_required,
.limitation_status = .recorded,
.limitation_references = .{"spec/fixtures/requirements/manifest.md#limitations"},
},
.{
.id = "TJ-SCAN-04",
.revision = 1,
.status = .accepted,
.label = "shared-storage entry points and alias handling",
.owner = "spec/FILESYSTEM_CAPABILITIES.md#root-initialization",
.suites = .{ .a, .m },
.invariant_status = .mapped,
.platform_evidence_status = .required_missing,
.limitation_status = .recorded,
.limitation_references = .{"spec/fixtures/requirements/manifest.md#limitations"},
},
.{
.id = "TJ-SCAN-05",
.revision = 1,
.status = .accepted,
.label = "mount crossing and mount identity",
.owner = "spec/FILESYSTEM_CAPABILITIES.md#mount-behavior",
.suites = .{ .a, .m },
.invariant_status = .mapped,
.platform_evidence_status = .required_missing,
.limitation_status = .recorded,
.limitation_references = .{"spec/PRODUCT.md#151-recorded-platform-limitations"},
},
.{
.id = "TJ-SCAN-06",
.revision = 1,
.status = .accepted,
.label = "capability states and confidence",
.owner = "spec/FILESYSTEM_CAPABILITIES.md#capability-states",
.suites = .{ .u, .a, .m },
.invariant_status = .mapped,
.platform_evidence_status = .required_missing,
.limitation_status = .recorded,
.limitation_references = .{"spec/PRODUCT.md#151-recorded-platform-limitations"},
},
.{
.id = "TJ-SCAN-07",
.revision = 1,
.status = .accepted,
.label = "capability probes and fail-closed mutation",
.owner = "spec/FILESYSTEM_CAPABILITIES.md#capability-probes",
.suites = .{ .a, .m },
.invariant_status = .mapped,
.platform_evidence_status = .required_missing,
.limitation_status = .recorded,
.limitation_references = .{"spec/fixtures/requirements/manifest.md#limitations"},
},
.{
.id = "TJ-SCAN-08",
.revision = 1,
.status = .accepted,
.label = "fixed storage and exhaustion",
.owner = "spec/LIMITS.md#scan-and-retained-state",
.suites = .{ .u, .sm, .sim },
.invariant_status = .mapped,
.platform_evidence_status = .not_required,
.limitation_status = .recorded,
.limitation_references = .{"spec/fixtures/requirements/manifest.md#limitations"},
},
.{
.id = "TJ-SCAN-09",
.revision = 1,
.status = .accepted,
.label = "collision-safe display truncation",
.owner = "spec/FILESYSTEM_CAPABILITIES.md#display-truncation",
.suites = .{ .u, .r },
.invariant_status = .mapped,
.platform_evidence_status = .not_required,
.limitation_status = .recorded,
.limitation_references = .{"spec/fixtures/requirements/manifest.md#limitations"},
},
.{
.id = "TJ-SCAN-10",
.revision = 1,
.status = .accepted,
.label = "visible capacity failure",
.owner = "spec/FILESYSTEM_CAPABILITIES.md#capacity-failures",
.suites = .{ .u, .sm, .r },
.invariant_status = .mapped,
.platform_evidence_status = .not_required,
.limitation_status = .recorded,
.limitation_references = .{"spec/fixtures/requirements/manifest.md#limitations"},
},
.{
.id = "TJ-SCAN-11",
.revision = 1,
.status = .accepted,
.label = "in-scope cleanup classes",
.owner = "spec/PRODUCT.md#42-in-scope-cleanup-classes",
.suites = .{ .u, .a },
.invariant_status = .mapped,
.platform_evidence_status = .not_required,
.limitation_status = .recorded,
.limitation_references = .{"spec/fixtures/requirements/manifest.md#limitations"},
},
},
},
.{
.title = "Fixed limits",
.requirements = .{
.{
.id = "TJ-LIMIT-01",
.revision = 1,
.status = .accepted,
.label = "exact fixed-limit registry",
.owner = "spec/model/limits.zon",
.suites = .{ .u, .sm },
.invariant_status = .mapped,
.platform_evidence_status = .not_required,
.limitation_status = .recorded,
.limitation_references = .{"spec/fixtures/requirements/manifest.md#limitations"},
},
.{
.id = "TJ-LIMIT-02",
.revision = 1,
.status = .accepted,
.label = "initial allocation and fail-closed exhaustion",
.owner = "spec/LIMITS.md",
.suites = .{ .u, .sm, .sim },
.invariant_status = .mapped,
.platform_evidence_status = .not_required,
.limitation_status = .recorded,
.limitation_references = .{"spec/fixtures/requirements/manifest.md#limitations"},
},
.{
.id = "TJ-LIMIT-03",
.revision = 1,
.status = .accepted,
.label = "oversized authority and depth handling",
.owner = "spec/LIMITS.md#scan-and-retained-state",
.suites = .{ .u, .sm, .sim },
.invariant_status = .mapped,
.platform_evidence_status = .not_required,
.limitation_status = .recorded,
.limitation_references = .{"spec/fixtures/requirements/manifest.md#limitations"},
},
.{
.id = "TJ-LIMIT-04",
.revision = 1,
.status = .accepted,
.label = "saturating omission accounting",
.owner = "spec/LIMITS.md#scan-and-retained-state",
.suites = .{ .u, .r },
.invariant_status = .mapped,
.platform_evidence_status = .not_required,
.limitation_status = .recorded,
.limitation_references = .{"spec/fixtures/requirements/manifest.md#limitations"},
},
.{
.id = "TJ-LIMIT-05",
.revision = 1,
.status = .accepted,
.label = "process-bound failure behavior",
.owner = "spec/LIMITS.md#processes-and-adapters",
.suites = .{ .a, .pty, .sim },
.invariant_status = .mapped,
.platform_evidence_status = .not_required,
.limitation_status = .recorded,
.limitation_references = .{"spec/fixtures/requirements/manifest.md#limitations"},
},
.{
.id = "TJ-LIMIT-06",
.revision = 1,
.status = .accepted,
.label = "queue reservations and latency",
.owner = "spec/LIMITS.md#queues-and-turns",
.suites = .{ .sm, .pty, .sim },
.invariant_status = .mapped,
.platform_evidence_status = .not_required,
.limitation_status = .recorded,
.limitation_references = .{"spec/fixtures/requirements/manifest.md#limitations"},
},
.{
.id = "TJ-LIMIT-07",
.revision = 1,
.status = .accepted,
.label = "terminal clamping and backpressure",
.owner = "spec/LIMITS.md#terminal",
.suites = .{ .r, .pty },
.invariant_status = .mapped,
.platform_evidence_status = .not_required,
.limitation_status = .recorded,
.limitation_references = .{"spec/fixtures/requirements/manifest.md#limitations"},
},
.{
.id = "TJ-LIMIT-08",
.revision = 1,
.status = .accepted,
.label = "non-truncating authority and effects",
.owner = "spec/LIMITS.md#logging",
.suites = .{ .u, .a, .sim },
.invariant_status = .mapped,
.platform_evidence_status = .not_required,
.limitation_status = .recorded,
.limitation_references = .{"spec/fixtures/cli/usage.md#limitations"},
},
.{
.id = "TJ-LIMIT-09",
.revision = 1,
.status = .accepted,
.label = "limit-change evidence",
.owner = "spec/LIMITS.md#limit-changes",
.suites = .{ .u, .m },
.invariant_status = .mapped,
.platform_evidence_status = .required_missing,
.limitation_status = .recorded,
.limitation_references = .{"spec/fixtures/requirements/manifest.md#limitations"},
},
},
},
.{
.title = "Classification and recommendation",
.requirements = .{
.{
.id = "TJ-CLASS-01",
.revision = 1,
.status = .accepted,
.label = "supported Git semantics",
.owner = "spec/CLASSIFICATION.md#version-control-systems",
.suites = .{ .u, .a },
.invariant_status = .mapped,
.platform_evidence_status = .not_required,
.limitation_status = .recorded,
.limitation_references = .{"spec/fixtures/requirements/manifest.md#limitations"},
},
.{
.id = "TJ-CLASS-02",
.revision = 1,
.status = .accepted,
.label = "unsupported VCS fail-closed handling",
.owner = "spec/CLASSIFICATION.md#version-control-systems",
.suites = .{ .u, .a, .r },
.invariant_status = .mapped,
.platform_evidence_status = .not_required,
.limitation_status = .recorded,
.limitation_references = .{"spec/fixtures/requirements/manifest.md#limitations"},
},
.{
.id = "TJ-CLASS-03",
.revision = 1,
.status = .accepted,
.label = "source heuristics",
.owner = "spec/CLASSIFICATION.md#source-and-document-classes",
.suites = .{.u},
.invariant_status = .mapped,
.platform_evidence_status = .not_required,
.limitation_status = .recorded,
.limitation_references = .{"spec/fixtures/classification/catalogs.md#limitations"},
},
.{
.id = "TJ-CLASS-04",
.revision = 1,
.status = .accepted,
.label = "document roots",
.owner = "spec/CLASSIFICATION.md#source-and-document-classes",
.suites = .{ .u, .a },
.invariant_status = .mapped,
.platform_evidence_status = .not_required,
.limitation_status = .recorded,
.limitation_references = .{"spec/fixtures/classification/catalogs.md#limitations"},
},
.{
.id = "TJ-CLASS-05",
.revision = 1,
.status = .accepted,
.label = "ownership states and controlled namespaces",
.owner = "spec/CLASSIFICATION.md#ownership-states-and-namespaces",
.suites = .{ .u, .a, .sm },
.invariant_status = .mapped,
.platform_evidence_status = .not_required,
.limitation_status = .recorded,
.limitation_references = .{"spec/fixtures/requirements/manifest.md#limitations"},
},
.{
.id = "TJ-CLASS-06",
.revision = 1,
.status = .accepted,
.label = "provenance and confidence",
.owner = "spec/CLASSIFICATION.md#evidence-vocabulary",
.suites = .{ .u, .a },
.invariant_status = .mapped,
.platform_evidence_status = .not_required,
.limitation_status = .recorded,
.limitation_references = .{"spec/fixtures/requirements/manifest.md#limitations"},
},
.{
.id = "TJ-CLASS-07",
.revision = 1,
.status = .accepted,
.label = "producer disposal evidence",
.owner = "spec/CLASSIFICATION.md#evidence-vocabulary",
.suites = .{ .u, .a },
.invariant_status = .mapped,
.platform_evidence_status = .not_required,
.limitation_status = .recorded,
.limitation_references = .{"spec/fixtures/requirements/manifest.md#limitations"},
},
.{
.id = "TJ-CLASS-08",
.revision = 1,
.status = .accepted,
.label = "uncertain-purpose policy",
.owner = "spec/CLASSIFICATION.md#evidence-vocabulary",
.suites = .{ .u, .sm },
.invariant_status = .mapped,
.platform_evidence_status = .not_required,
.limitation_status = .recorded,
.limitation_references = .{"spec/fixtures/requirements/manifest.md#limitations"},
},
.{
.id = "TJ-CLASS-09",
.revision = 1,
.status = .accepted,
.label = "downloads classification",
.owner = "spec/CLASSIFICATION.md#downloads",
.suites = .{ .u, .a },
.invariant_status = .mapped,
.platform_evidence_status = .not_required,
.limitation_status = .recorded,
.limitation_references = .{"spec/fixtures/requirements/manifest.md#limitations"},
},
.{
.id = "TJ-CLASS-10",
.revision = 1,
.status = .accepted,
.label = "trash formats and invalid metadata",
.owner = "spec/CLASSIFICATION.md#trash",
.suites = .{ .u, .a },
.invariant_status = .mapped,
.platform_evidence_status = .not_required,
.limitation_status = .recorded,
.limitation_references = .{"spec/fixtures/requirements/manifest.md#limitations"},
},
.{
.id = "TJ-CLASS-11",
.revision = 1,
.status = .accepted,
.label = "logs, locks, and temporary patterns",
.owner = "spec/CLASSIFICATION.md#logs-locks-and-temporary-files",
.suites = .{ .u, .a },
.invariant_status = .mapped,
.platform_evidence_status = .not_required,
.limitation_status = .recorded,
.limitation_references = .{"spec/fixtures/requirements/manifest.md#limitations"},
},
.{
.id = "TJ-CLASS-12",
.revision = 1,
.status = .accepted,
.label = "process observations and activity",
.owner = "spec/CLASSIFICATION.md#process-observations",
.suites = .{ .u, .a, .sim },
.invariant_status = .mapped,
.platform_evidence_status = .not_required,
.limitation_status = .recorded,
.limitation_references = .{"spec/fixtures/requirements/manifest.md#limitations"},
},
.{
.id = "TJ-CLASS-13",
.revision = 1,
.status = .accepted,
.label = "manual-only classes",
.owner = "spec/PRODUCT.md#5-manual-selection-policy",
.suites = .{ .u, .sm, .r },
.invariant_status = .mapped,
.platform_evidence_status = .not_required,
.limitation_status = .recorded,
.limitation_references = .{"spec/fixtures/requirements/manifest.md#limitations"},
},
.{
.id = "TJ-CLASS-14",
.revision = 1,
.status = .accepted,
.label = "threshold units and generation clock",
.owner = "spec/PRODUCT.md#61-default-thresholds",
.suites = .{.u},
.invariant_status = .mapped,
.platform_evidence_status = .not_required,
.limitation_status = .recorded,
.limitation_references = .{ "spec/fixtures/classification/thresholds.md#limitations", "spec/PRODUCT.md#151-recorded-platform-limitations" },
},
.{
.id = "TJ-CLASS-15",
.revision = 1,
.status = .accepted,
.label = "safe preselection",
.owner = "spec/PRODUCT.md#62-safe-pre-selection",
.suites = .{ .u, .a },
.invariant_status = .mapped,
.platform_evidence_status = .not_required,
.limitation_status = .recorded,
.limitation_references = .{"spec/fixtures/requirements/manifest.md#limitations"},
},
.{
.id = "TJ-CLASS-16",
.revision = 1,
.status = .accepted,
.label = "log and temporary policy",
.owner = "spec/PRODUCT.md#63-logs-and-temporary-files",
.suites = .{ .u, .a },
.invariant_status = .mapped,
.platform_evidence_status = .not_required,
.limitation_status = .recorded,
.limitation_references = .{"spec/fixtures/requirements/manifest.md#limitations"},
},
},
},
.{
.title = "Accounting",
.requirements = .{
.{
.id = "TJ-SIZE-01",
.revision = 1,
.status = .accepted,
.label = "allocated blocks remain distinct from apparent bytes",
.owner = "spec/PRODUCT.md#7-size-accounting",
.suites = .{ .u, .a, .r, .m },
.invariant_status = .mapped,
.platform_evidence_status = .required_missing,
.limitation_status = .recorded,
.limitation_references = .{"spec/PRODUCT.md#151-recorded-platform-limitations"},
},
.{
.id = "TJ-SIZE-02",
.revision = 1,
.status = .accepted,
.label = "checked arithmetic and overflow propagation",
.owner = "spec/PRODUCT.md#7-size-accounting",
.suites = .{ .u, .sim },
.invariant_status = .mapped,
.platform_evidence_status = .not_required,
.limitation_status = .recorded,
.limitation_references = .{"spec/fixtures/requirements/manifest.md#limitations"},
},
.{
.id = "TJ-SIZE-03",
.revision = 1,
.status = .accepted,
.label = "metadata, compression, sparse, and rounding treatment",
.owner = "spec/FILESYSTEM_CAPABILITIES.md#accounting-details",
.suites = .{ .u, .a, .m },
.invariant_status = .mapped,
.platform_evidence_status = .required_missing,
.limitation_status = .recorded,
.limitation_references = .{"spec/PRODUCT.md#151-recorded-platform-limitations"},
},
.{
.id = "TJ-SIZE-04",
.revision = 1,
.status = .accepted,
.label = "generation-local inode identity",
.owner = "spec/PRODUCT.md#7-size-accounting",
.suites = .{ .u, .a },
.invariant_status = .mapped,
.platform_evidence_status = .not_required,
.limitation_status = .recorded,
.limitation_references = .{"spec/fixtures/requirements/manifest.md#limitations"},
},
.{
.id = "TJ-SIZE-05",
.revision = 1,
.status = .accepted,
.label = "non-additive rows and direct totals",
.owner = "spec/PRODUCT.md#7-size-accounting",
.suites = .{ .u, .r },
.invariant_status = .mapped,
.platform_evidence_status = .not_required,
.limitation_status = .recorded,
.limitation_references = .{"spec/PRODUCT.md#151-recorded-platform-limitations"},
},
.{
.id = "TJ-SIZE-06",
.revision = 1,
.status = .accepted,
.label = "hard-link reclaim credit",
.owner = "spec/PRODUCT.md#7-size-accounting",
.suites = .{ .u, .a, .sim },
.invariant_status = .mapped,
.platform_evidence_status = .not_required,
.limitation_status = .recorded,
.limitation_references = .{"spec/fixtures/requirements/manifest.md#limitations"},
},
.{
.id = "TJ-SIZE-07",
.revision = 1,
.status = .accepted,
.label = "eventual-release uncertainty",
.owner = "spec/PRODUCT.md#7-size-accounting",
.suites = .{ .u, .a, .r },
.invariant_status = .mapped,
.platform_evidence_status = .not_required,
.limitation_status = .recorded,
.limitation_references = .{"spec/fixtures/requirements/manifest.md#limitations"},
},
.{
.id = "TJ-SIZE-08",
.revision = 1,
.status = .accepted,
.label = "no version 1 cross-filesystem additive total",
.owner = "spec/FILESYSTEM_CAPABILITIES.md#accounting-details",
.suites = .{ .u, .r, .m },
.invariant_status = .mapped,
.platform_evidence_status = .required_missing,
.limitation_status = .recorded,
.limitation_references = .{"spec/PRODUCT.md#151-recorded-platform-limitations"},
},
},
},
.{
.title = "Symlinks and namespaces",
.requirements = .{
.{
.id = "TJ-LINK-01",
.revision = 1,
.status = .accepted,
.label = "traversal never follows directory symlinks",
.owner = "spec/PRODUCT.md#8-symbolic-links-and-traversal",
.suites = .{ .a, .sim },
.invariant_status = .mapped,
.platform_evidence_status = .not_required,
.limitation_status = .recorded,
.limitation_references = .{"spec/fixtures/requirements/manifest.md#limitations"},
},
.{
.id = "TJ-LINK-02",
.revision = 1,
.status = .accepted,
.label = "host and proot target namespaces",
.owner = "spec/PRODUCT.md#8-symbolic-links-and-traversal",
.suites = .{ .u, .a },
.invariant_status = .mapped,
.platform_evidence_status = .not_required,
.limitation_status = .recorded,
.limitation_references = .{"spec/fixtures/requirements/manifest.md#limitations"},
},
.{
.id = "TJ-LINK-03",
.revision = 1,
.status = .accepted,
.label = "bounded target resolution",
.owner = "spec/PRODUCT.md#8-symbolic-links-and-traversal",
.suites = .{ .u, .a },
.invariant_status = .mapped,
.platform_evidence_status = .not_required,
.limitation_status = .recorded,
.limitation_references = .{"spec/fixtures/requirements/manifest.md#limitations"},
},
.{
.id = "TJ-LINK-04",
.revision = 1,
.status = .accepted,
.label = "target status is not mutation authority",
.owner = "spec/PRODUCT.md#8-symbolic-links-and-traversal",
.suites = .{ .u, .a, .sim },
.invariant_status = .mapped,
.platform_evidence_status = .not_required,
.limitation_status = .recorded,
.limitation_references = .{"spec/fixtures/requirements/manifest.md#limitations"},
},
},
},
.{
.title = "Adapters and processes",
.requirements = .{
.{
.id = "TJ-ADAPT-01",
.revision = 1,
.status = .accepted,
.label = "common minimum and no warning-only stubs",
.owner = "spec/ADAPTERS.md#common-minimum",
.suites = .{.a},
.invariant_status = .mapped,
.platform_evidence_status = .not_required,
.limitation_status = .recorded,
.limitation_references = .{"spec/fixtures/requirements/manifest.md#limitations"},
},
.{
.id = "TJ-ADAPT-02",
.revision = 1,
.status = .accepted,
.label = "normalized state vocabulary",
.owner = "spec/ADAPTERS.md#state-vocabulary",
.suites = .{ .u, .a },
.invariant_status = .mapped,
.platform_evidence_status = .not_required,
.limitation_status = .recorded,
.limitation_references = .{"spec/fixtures/requirements/manifest.md#limitations"},
},
.{
.id = "TJ-ADAPT-03",
.revision = 1,
.status = .accepted,
.label = "exact supported version/configuration tuple",
.owner = "spec/ADAPTERS.md#supported-version-and-configuration-rule",
.suites = .{ .a, .m },
.invariant_status = .mapped,
.platform_evidence_status = .required_missing,
.limitation_status = .recorded,
.limitation_references = .{"spec/fixtures/requirements/manifest.md#limitations"},
},
.{
.id = "TJ-ADAPT-04",
.revision = 1,
.status = .accepted,
.label = "ownership domains and aliases",
.owner = "spec/ADAPTERS.md#ownership-domains-and-aliases",
.suites = .{ .u, .a },
.invariant_status = .mapped,
.platform_evidence_status = .not_required,
.limitation_status = .recorded,
.limitation_references = .{"spec/fixtures/requirements/manifest.md#limitations"},
},
.{
.id = "TJ-ADAPT-05",
.revision = 1,
.status = .accepted,
.label = "ecosystem minimum capabilities",
.owner = "spec/ADAPTERS.md#minimum-capabilities",
.suites = .{ .a, .m },
.invariant_status = .mapped,
.platform_evidence_status = .required_missing,
.limitation_status = .recorded,
.limitation_references = .{"spec/fixtures/requirements/manifest.md#limitations"},
},
.{
.id = "TJ-ADAPT-06",
.revision = 1,
.status = .accepted,
.label = "effect-set schema",
.owner = "spec/ADAPTERS.md#effect-set-schema",
.suites = .{ .u, .a, .sm },
.invariant_status = .mapped,
.platform_evidence_status = .not_required,
.limitation_status = .recorded,
.limitation_references = .{"spec/fixtures/requirements/manifest.md#limitations"},
},
.{
.id = "TJ-ADAPT-07",
.revision = 1,
.status = .accepted,
.label = "execution binding and broad cache scope",
.owner = "spec/ADAPTERS.md#effect-set-schema",
.suites = .{ .a, .sim, .m },
.invariant_status = .mapped,
.platform_evidence_status = .required_missing,
.limitation_status = .recorded,
.limitation_references = .{"spec/PRODUCT.md#151-recorded-platform-limitations"},
},
.{
.id = "TJ-ADAPT-08",
.revision = 1,
.status = .accepted,
.label = "result normalization",
.owner = "spec/ADAPTERS.md#result-normalization",
.suites = .{ .a, .sm },
.invariant_status = .mapped,
.platform_evidence_status = .not_required,
.limitation_status = .recorded,
.limitation_references = .{"spec/fixtures/requirements/manifest.md#limitations"},
},
.{
.id = "TJ-ADAPT-09",
.revision = 1,
.status = .accepted,
.label = "Android allowlist and confirmation",
.owner = "spec/ADAPTERS.md#android-allowlist",
.suites = .{ .u, .a, .m },
.invariant_status = .mapped,
.platform_evidence_status = .required_missing,
.limitation_status = .recorded,
.limitation_references = .{ "spec/fixtures/adapters/android_allowlist.md#limitations", "spec/PRODUCT.md#151-recorded-platform-limitations" },
},
.{
.id = "TJ-ADAPT-10",
.revision = 1,
.status = .accepted,
.label = "external-process registry",
.owner = "spec/ADAPTERS.md#external-process-registry",
.suites = .{ .u, .a },
.invariant_status = .mapped,
.platform_evidence_status = .not_required,
.limitation_status = .recorded,
.limitation_references = .{"spec/fixtures/requirements/manifest.md#limitations"},
},
.{
.id = "TJ-ADAPT-11",
.revision = 1,
.status = .accepted,
.label = "process and output bounds",
.owner = "spec/LIMITS.md#processes-and-adapters",
.suites = .{ .a, .pty, .sim },
.invariant_status = .mapped,
.platform_evidence_status = .not_required,
.limitation_status = .recorded,
.limitation_references = .{"spec/PRODUCT.md#151-recorded-platform-limitations"},
},
.{
.id = "TJ-ADAPT-12",
.revision = 1,
.status = .accepted,
.label = "local-first scoped network access",
.owner = "spec/PRODUCT.md#43-supported-package-ecosystems",
.suites = .{ .sm, .a, .r },
.invariant_status = .mapped,
.platform_evidence_status = .not_required,
.limitation_status = .recorded,
.limitation_references = .{"spec/fixtures/requirements/manifest.md#limitations"},
},
.{
.id = "TJ-ADAPT-13",
.revision = 1,
.status = .accepted,
.label = "package-manager observation boundary",
.owner = "spec/PRODUCT.md#112-package-actions",
.suites = .{ .a, .sm, .m },
.invariant_status = .mapped,
.platform_evidence_status = .required_missing,
.limitation_status = .recorded,
.limitation_references = .{"spec/PRODUCT.md#151-recorded-platform-limitations"},
},
},
},
.{
.title = "Planning and execution",
.requirements = .{
.{
.id = "TJ-PLAN-01",
.revision = 1,
.status = .accepted,
.label = "immutable canonical plan snapshot",
.owner = "spec/PRODUCT.md#10-planning-dry-run-and-confirmation",
.suites = .{ .u, .sm },
.invariant_status = .mapped,
.platform_evidence_status = .not_required,
.limitation_status = .recorded,
.limitation_references = .{"spec/fixtures/requirements/manifest.md#limitations"},
},
.{
.id = "TJ-PLAN-02",
.revision = 1,
.status = .accepted,
.label = "deterministic topological action order",
.owner = "spec/PRODUCT.md#10-planning-dry-run-and-confirmation",
.suites = .{ .u, .sim },
.invariant_status = .mapped,
.platform_evidence_status = .not_required,
.limitation_status = .recorded,
.limitation_references = .{"spec/fixtures/requirements/manifest.md#limitations"},
},
.{
.id = "TJ-PLAN-03",
.revision = 1,
.status = .accepted,
.label = "typed action contents",
.owner = "spec/PRODUCT.md#10-planning-dry-run-and-confirmation",
.suites = .{ .u, .a },
.invariant_status = .mapped,
.platform_evidence_status = .not_required,
.limitation_status = .recorded,
.limitation_references = .{"spec/fixtures/requirements/manifest.md#limitations"},
},
.{
.id = "TJ-PLAN-04",
.revision = 1,
.status = .accepted,
.label = "dependencies and expected effects",
.owner = "spec/PRODUCT.md#10-planning-dry-run-and-confirmation",
.suites = .{ .u, .sm, .sim },
.invariant_status = .mapped,
.platform_evidence_status = .not_required,
.limitation_status = .recorded,
.limitation_references = .{"spec/fixtures/requirements/manifest.md#limitations"},
},
.{
.id = "TJ-PLAN-05",
.revision = 1,
.status = .accepted,
.label = "canonical plan encoding",
.owner = "spec/PRODUCT.md#10-planning-dry-run-and-confirmation",
.suites = .{.u},
.invariant_status = .mapped,
.platform_evidence_status = .not_required,
.limitation_status = .recorded,
.limitation_references = .{"spec/fixtures/requirements/manifest.md#limitations"},
},
.{
.id = "TJ-PLAN-06",
.revision = 1,
.status = .accepted,
.label = "complete directory manifest",
.owner = "spec/PRODUCT.md#10-planning-dry-run-and-confirmation",
.suites = .{ .u, .a, .sim },
.invariant_status = .mapped,
.platform_evidence_status = .not_required,
.limitation_status = .recorded,
.limitation_references = .{"spec/fixtures/requirements/manifest.md#limitations"},
},
.{
.id = "TJ-PLAN-07",
.revision = 1,
.status = .accepted,
.label = "review grouping and expanded details",
.owner = "spec/PRODUCT.md#10-planning-dry-run-and-confirmation",
.suites = .{.r},
.invariant_status = .mapped,
.platform_evidence_status = .not_required,
.limitation_status = .recorded,
.limitation_references = .{"spec/fixtures/requirements/manifest.md#limitations"},
},
.{
.id = "TJ-PLAN-08",
.revision = 1,
.status = .accepted,
.label = "dry-run purity and plan equivalence",
.owner = "spec/PRODUCT.md#10-planning-dry-run-and-confirmation",
.suites = .{ .u, .a, .m },
.invariant_status = .mapped,
.platform_evidence_status = .required_missing,
.limitation_status = .recorded,
.limitation_references = .{"spec/fixtures/requirements/manifest.md#limitations"},
},
.{
.id = "TJ-PLAN-09",
.revision = 1,
.status = .accepted,
.label = "complete final confirmation fields",
.owner = "spec/PRODUCT.md#10-planning-dry-run-and-confirmation",
.suites = .{ .r, .pty },
.invariant_status = .mapped,
.platform_evidence_status = .not_required,
.limitation_status = .recorded,
.limitation_references = .{"spec/fixtures/requirements/manifest.md#limitations"},
},
.{
.id = "TJ-PLAN-10",
.revision = 1,
.status = .accepted,
.label = "`CONFIRM` grammar and legacy limitation",
.owner = "spec/PRODUCT.md#10-planning-dry-run-and-confirmation",
.suites = .{ .u, .pty },
.invariant_status = .mapped,
.platform_evidence_status = .not_required,
.limitation_status = .recorded,
.limitation_references = .{"spec/fixtures/confirmation/exact.md#limitations"},
},
.{
.id = "TJ-PLAN-11",
.revision = 1,
.status = .accepted,
.label = "material plan equivalence",
.owner = "spec/PRODUCT.md#10-planning-dry-run-and-confirmation",
.suites = .{ .u, .sm },
.invariant_status = .mapped,
.platform_evidence_status = .not_required,
.limitation_status = .recorded,
.limitation_references = .{"spec/fixtures/requirements/manifest.md#limitations"},
},
.{
.id = "TJ-EXEC-01",
.revision = 1,
.status = .accepted,
.label = "complete filesystem revalidation table",
.owner = "spec/PRODUCT.md#111-filesystem-revalidation",
.suites = .{ .a, .sim, .m },
.invariant_status = .mapped,
.platform_evidence_status = .required_missing,
.limitation_status = .recorded,
.limitation_references = .{"spec/PRODUCT.md#151-recorded-platform-limitations"},
},
.{
.id = "TJ-EXEC-02",
.revision = 1,
.status = .accepted,
.label = "adjacent final check and mutation request",
.owner = "spec/PRODUCT.md#111-filesystem-revalidation",
.suites = .{ .a, .sim },
.invariant_status = .mapped,
.platform_evidence_status = .not_required,
.limitation_status = .recorded,
.limitation_references = .{"spec/PRODUCT.md#151-recorded-platform-limitations"},
},
.{
.id = "TJ-EXEC-03",
.revision = 1,
.status = .accepted,
.label = "supported entry types and no-follow operations",
.owner = "spec/PRODUCT.md#111-filesystem-revalidation",
.suites = .{.a},
.invariant_status = .mapped,
.platform_evidence_status = .not_required,
.limitation_status = .recorded,
.limitation_references = .{"spec/fixtures/requirements/manifest.md#limitations"},
},
.{
.id = "TJ-EXEC-04",
.revision = 1,
.status = .accepted,
.label = "whole-directory invalidation",
.owner = "spec/PRODUCT.md#111-filesystem-revalidation",
.suites = .{ .a, .sim },
.invariant_status = .mapped,
.platform_evidence_status = .not_required,
.limitation_status = .recorded,
.limitation_references = .{
"spec/fixtures/requirements/manifest.md#limitations",
"spec/PRODUCT.md#151-recorded-platform-limitations",
},
},
.{
.id = "TJ-EXEC-05",
.revision = 1,
.status = .accepted,
.label = "residual POSIX race and exact disclosure",
.owner = "spec/PRODUCT.md#111-filesystem-revalidation",
.suites = .{ .r, .m },
.invariant_status = .mapped,
.platform_evidence_status = .required_missing,
.limitation_status = .recorded,
.limitation_references = .{"spec/PRODUCT.md#151-recorded-platform-limitations"},
},
},
},
.{
.title = "Failure and audit logging",
.requirements = .{
.{
.id = "TJ-FAIL-01",
.revision = 1,
.status = .accepted,
.label = "action failure pause and dependency blocking",
.owner = "spec/PRODUCT.md#113-failure-behavior",
.suites = .{ .sm, .pty, .sim },
.invariant_status = .mapped,
.platform_evidence_status = .not_required,
.limitation_status = .recorded,
.limitation_references = .{"spec/fixtures/requirements/manifest.md#limitations"},
},
.{
.id = "TJ-FAIL-02",
.revision = 1,
.status = .accepted,
.label = "no resume authority across restart",
.owner = "spec/PRODUCT.md#113-failure-behavior",
.suites = .{ .u, .a },
.invariant_status = .mapped,
.platform_evidence_status = .not_required,
.limitation_status = .recorded,
.limitation_references = .{"spec/fixtures/requirements/manifest.md#limitations"},
},
.{
.id = "TJ-FAIL-03",
.revision = 1,
.status = .accepted,
.label = "cancellation reconciliation",
.owner = "spec/PRODUCT.md#113-failure-behavior",
.suites = .{ .sm, .sim },
.invariant_status = .mapped,
.platform_evidence_status = .not_required,
.limitation_status = .recorded,
.limitation_references = .{"spec/fixtures/requirements/manifest.md#limitations"},
},
.{
.id = "TJ-LOG-01",
.revision = 1,
.status = .accepted,
.label = "review-only fallback",
.owner = "spec/PRODUCT.md#113-failure-behavior",
.suites = .{ .sm, .r },
.invariant_status = .mapped,
.platform_evidence_status = .not_required,
.limitation_status = .recorded,
.limitation_references = .{"spec/fixtures/requirements/manifest.md#limitations"},
},
.{
.id = "TJ-LOG-02",
.revision = 1,
.status = .accepted,
.label = "reserved intent/result capacity",
.owner = "spec/PRODUCT.md#113-failure-behavior",
.suites = .{ .u, .sm },
.invariant_status = .mapped,
.platform_evidence_status = .not_required,
.limitation_status = .recorded,
.limitation_references = .{"spec/fixtures/requirements/manifest.md#limitations"},
},
.{
.id = "TJ-LOG-03",
.revision = 1,
.status = .accepted,
.label = "append and flush protocol",
.owner = "spec/PRODUCT.md#113-failure-behavior",
.suites = .{ .a, .m },
.invariant_status = .mapped,
.platform_evidence_status = .required_missing,
.limitation_status = .recorded,
.limitation_references = .{"spec/PRODUCT.md#151-recorded-platform-limitations"},
},
.{
.id = "TJ-LOG-04",
.revision = 1,
.status = .accepted,
.label = "bounded framed record schema",
.owner = "spec/PRODUCT.md#113-failure-behavior",
.suites = .{ .u, .a },
.invariant_status = .mapped,
.platform_evidence_status = .not_required,
.limitation_status = .recorded,
.limitation_references = .{"spec/fixtures/requirements/manifest.md#limitations"},
},
.{
.id = "TJ-LOG-05",
.revision = 1,
.status = .accepted,
.label = "intent and result contents",
.owner = "spec/PRODUCT.md#113-failure-behavior",
.suites = .{ .u, .a },
.invariant_status = .mapped,
.platform_evidence_status = .not_required,
.limitation_status = .recorded,
.limitation_references = .{"spec/fixtures/requirements/manifest.md#limitations"},
},
.{
.id = "TJ-LOG-06",
.revision = 1,
.status = .accepted,
.label = "fail-closed logging errors",
.owner = "spec/PRODUCT.md#113-failure-behavior",
.suites = .{ .sm, .a, .sim },
.invariant_status = .mapped,
.platform_evidence_status = .not_required,
.limitation_status = .recorded,
.limitation_references = .{"spec/PRODUCT.md#151-recorded-platform-limitations"},
},
},
},
.{
.title = "Interaction, terminal, and accessibility",
.requirements = .{
.{
.id = "TJ-UI-01",
.revision = 1,
.status = .accepted,
.label = "stable focus and selection",
.owner = "spec/UI_GUIDELINES.md#interaction",
.suites = .{ .sm, .r },
.invariant_status = .mapped,
.platform_evidence_status = .not_required,
.limitation_status = .recorded,
.limitation_references = .{"spec/fixtures/requirements/manifest.md#limitations"},
},
.{
.id = "TJ-UI-02",
.revision = 1,
.status = .accepted,
.label = "persistent selection and warning summaries",
.owner = "spec/UI_GUIDELINES.md#interaction",
.suites = .{ .sm, .r },
.invariant_status = .mapped,
.platform_evidence_status = .not_required,
.limitation_status = .recorded,
.limitation_references = .{"spec/fixtures/requirements/manifest.md#limitations"},
},
.{
.id = "TJ-UI-03",
.revision = 1,
.status = .accepted,
.label = "filter and search composition",
.owner = "spec/UI_GUIDELINES.md#interaction",
.suites = .{ .u, .sm, .r },
.invariant_status = .mapped,
.platform_evidence_status = .not_required,
.limitation_status = .recorded,
.limitation_references = .{"spec/fixtures/requirements/manifest.md#limitations"},
},
.{
.id = "TJ-UI-04",
.revision = 1,
.status = .accepted,
.label = "all-visible bulk scope",
.owner = "spec/UI_GUIDELINES.md#interaction",
.suites = .{ .u, .sm },
.invariant_status = .mapped,
.platform_evidence_status = .not_required,
.limitation_status = .recorded,
.limitation_references = .{"spec/fixtures/requirements/manifest.md#limitations"},
},
.{
.id = "TJ-UI-05",
.revision = 1,
.status = .accepted,
.label = "refresh teardown",
.owner = "spec/UI_GUIDELINES.md#interaction",
.suites = .{ .sm, .sim },
.invariant_status = .mapped,
.platform_evidence_status = .not_required,
.limitation_status = .recorded,
.limitation_references = .{"spec/fixtures/requirements/manifest.md#limitations"},
},
.{
.id = "TJ-UI-06",
.revision = 1,
.status = .accepted,
.label = "unified cancellation",
.owner = "spec/UI_GUIDELINES.md#interaction",
.suites = .{ .sm, .pty, .sim },
.invariant_status = .mapped,
.platform_evidence_status = .not_required,
.limitation_status = .recorded,
.limitation_references = .{"spec/fixtures/requirements/manifest.md#limitations"},
},
.{
.id = "TJ-UI-07",
.revision = 1,
.status = .accepted,
.label = "directory browser",
.owner = "spec/UI_GUIDELINES.md#directory-browser",
.suites = .{ .sm, .r },
.invariant_status = .mapped,
.platform_evidence_status = .not_required,
.limitation_status = .recorded,
.limitation_references = .{"spec/fixtures/requirements/manifest.md#limitations"},
},
.{
.id = "TJ-UI-08",
.revision = 1,
.status = .accepted,
.label = "complete keyboard map",
.owner = "spec/UI_GUIDELINES.md#key-map",
.suites = .{ .u, .pty },
.invariant_status = .mapped,
.platform_evidence_status = .not_required,
.limitation_status = .recorded,
.limitation_references = .{"spec/fixtures/requirements/manifest.md#limitations"},
},
.{
.id = "TJ-UI-09",
.revision = 1,
.status = .accepted,
.label = "contextual help",
.owner = "spec/UI_GUIDELINES.md#key-map",
.suites = .{ .r, .pty },
.invariant_status = .mapped,
.platform_evidence_status = .not_required,
.limitation_status = .recorded,
.limitation_references = .{"spec/fixtures/requirements/manifest.md#limitations"},
},
.{
.id = "TJ-UI-10",
.revision = 1,
.status = .accepted,
.label = "measured progress and turn bounds",
.owner = "spec/UI_GUIDELINES.md#performance",
.suites = .{ .sm, .pty },
.invariant_status = .mapped,
.platform_evidence_status = .not_required,
.limitation_status = .recorded,
.limitation_references = .{"spec/fixtures/requirements/manifest.md#limitations"},
},
.{
.id = "TJ-UI-11",
.revision = 1,
.status = .accepted,
.label = "compact checklist and deterministic finding order",
.owner = "spec/UI_GUIDELINES.md#checklist-and-details",
.suites = .{ .u, .r, .sm },
.invariant_status = .mapped,
.platform_evidence_status = .not_required,
.limitation_status = .recorded,
.limitation_references = .{"spec/fixtures/requirements/manifest.md#limitations"},
},
.{
.id = "TJ-UI-12",
.revision = 1,
.status = .accepted,
.label = "finding detail applicability and content",
.owner = "spec/UI_GUIDELINES.md#checklist-and-details",
.suites = .{ .u, .r },
.invariant_status = .mapped,
.platform_evidence_status = .not_required,
.limitation_status = .recorded,
.limitation_references = .{"spec/fixtures/requirements/manifest.md#limitations"},
},
.{
.id = "TJ-TERM-01",
.revision = 1,
.status = .accepted,
.label = "CLI terminal contract",
.owner = "spec/UI_GUIDELINES.md#terminal-contract",
.suites = .{ .u, .pty },
.invariant_status = .mapped,
.platform_evidence_status = .not_required,
.limitation_status = .recorded,
.limitation_references = .{"spec/fixtures/cli/terminal.md#limitations"},
},
.{
.id = "TJ-TERM-02",
.revision = 1,
.status = .accepted,
.label = "required dimensions and clamping",
.owner = "spec/UI_GUIDELINES.md#terminal-contract",
.suites = .{ .r, .pty },
.invariant_status = .mapped,
.platform_evidence_status = .not_required,
.limitation_status = .recorded,
.limitation_references = .{"spec/fixtures/requirements/manifest.md#limitations"},
},
.{
.id = "TJ-TERM-03",
.revision = 1,
.status = .accepted,
.label = "structural layout invariants",
.owner = "spec/UI_GUIDELINES.md#layout-invariants",
.suites = .{.r},
.invariant_status = .mapped,
.platform_evidence_status = .not_required,
.limitation_status = .recorded,
.limitation_references = .{"spec/fixtures/requirements/manifest.md#limitations"},
},
.{
.id = "TJ-TERM-04",
.revision = 1,
.status = .accepted,
.label = "strict text decoding and Unicode width",
.owner = "spec/UI_GUIDELINES.md#text-and-width",
.suites = .{ .u, .r },
.invariant_status = .mapped,
.platform_evidence_status = .not_required,
.limitation_status = .recorded,
.limitation_references = .{"spec/fixtures/cli/usage.md#limitations"},
},
.{
.id = "TJ-TERM-05",
.revision = 1,
.status = .accepted,
.label = "Unicode and ASCII size tracks",
.owner = "spec/UI_GUIDELINES.md#text-and-width",
.suites = .{ .u, .r },
.invariant_status = .mapped,
.platform_evidence_status = .not_required,
.limitation_status = .recorded,
.limitation_references = .{"spec/fixtures/requirements/manifest.md#limitations"},
},
.{
.id = "TJ-TERM-06",
.revision = 1,
.status = .accepted,
.label = "semantic reading order",
.owner = "spec/UI_GUIDELINES.md#text-and-width",
.suites = .{ .r, .m },
.invariant_status = .mapped,
.platform_evidence_status = .required_missing,
.limitation_status = .recorded,
.limitation_references = .{"spec/fixtures/requirements/manifest.md#limitations"},
},
.{
.id = "TJ-TERM-07",
.revision = 1,
.status = .accepted,
.label = "input and SGR mouse",
.owner = "spec/UI_GUIDELINES.md#input-and-mouse",
.suites = .{ .u, .pty },
.invariant_status = .mapped,
.platform_evidence_status = .not_required,
.limitation_status = .recorded,
.limitation_references = .{"spec/fixtures/requirements/manifest.md#limitations"},
},
.{
.id = "TJ-TERM-08",
.revision = 1,
.status = .accepted,
.label = "color precedence",
.owner = "spec/UI_GUIDELINES.md#color",
.suites = .{ .u, .r, .pty },
.invariant_status = .mapped,
.platform_evidence_status = .not_required,
.limitation_status = .recorded,
.limitation_references = .{"spec/fixtures/requirements/manifest.md#limitations"},
},
.{
.id = "TJ-TERM-09",
.revision = 1,
.status = .accepted,
.label = "initialization and restoration",
.owner = "spec/UI_GUIDELINES.md#initialization-and-restoration",
.suites = .{.pty},
.invariant_status = .mapped,
.platform_evidence_status = .not_required,
.limitation_status = .recorded,
.limitation_references = .{"spec/fixtures/requirements/manifest.md#limitations"},
},
.{
.id = "TJ-TERM-10",
.revision = 1,
.status = .accepted,
.label = "changed-cell output and backpressure",
.owner = "spec/UI_GUIDELINES.md#output-transport",
.suites = .{ .r, .pty },
.invariant_status = .mapped,
.platform_evidence_status = .not_required,
.limitation_status = .recorded,
.limitation_references = .{"spec/fixtures/requirements/manifest.md#limitations"},
},
},
},
.{
.title = "Configuration and CLI",
.requirements = .{
.{
.id = "TJ-CONFIG-01",
.revision = 1,
.status = .accepted,
.label = "location and precedence",
.owner = "spec/CONFIGURATION.md#location-and-precedence",
.suites = .{ .u, .a },
.invariant_status = .mapped,
.platform_evidence_status = .not_required,
.limitation_status = .recorded,
.limitation_references = .{"spec/fixtures/requirements/manifest.md#limitations"},
},
.{
.id = "TJ-CONFIG-02",
.revision = 1,
.status = .accepted,
.label = "strict JSON grammar",
.owner = "spec/CONFIGURATION.md#encoding-and-grammar",
.suites = .{.u},
.invariant_status = .mapped,
.platform_evidence_status = .not_required,
.limitation_status = .recorded,
.limitation_references = .{"spec/fixtures/requirements/manifest.md#limitations"},
},
.{
.id = "TJ-CONFIG-03",
.revision = 1,
.status = .accepted,
.label = "path bytes and bases",
.owner = "spec/CONFIGURATION.md#encoding-and-grammar",
.suites = .{ .u, .a },
.invariant_status = .mapped,
.platform_evidence_status = .not_required,
.limitation_status = .recorded,
.limitation_references = .{"spec/fixtures/requirements/manifest.md#limitations"},
},
.{
.id = "TJ-CONFIG-04",
.revision = 1,
.status = .accepted,
.label = "schema and defaults",
.owner = "spec/CONFIGURATION.md#schema",
.suites = .{.u},
.invariant_status = .mapped,
.platform_evidence_status = .not_required,
.limitation_status = .recorded,
.limitation_references = .{"spec/fixtures/requirements/manifest.md#limitations"},
},
.{
.id = "TJ-CONFIG-05",
.revision = 1,
.status = .accepted,
.label = "thresholds and policy validation",
.owner = "spec/CONFIGURATION.md#schema",
.suites = .{.u},
.invariant_status = .mapped,
.platform_evidence_status = .not_required,
.limitation_status = .recorded,
.limitation_references = .{"spec/fixtures/requirements/manifest.md#limitations"},
},
.{
.id = "TJ-CONFIG-06",
.revision = 1,
.status = .accepted,
.label = "exclusions",
.owner = "spec/CONFIGURATION.md#exclusions",
.suites = .{ .u, .a },
.invariant_status = .mapped,
.platform_evidence_status = .not_required,
.limitation_status = .recorded,
.limitation_references = .{"spec/fixtures/requirements/manifest.md#limitations"},
},
.{
.id = "TJ-CONFIG-07",
.revision = 1,
.status = .accepted,
.label = "startup errors",
.owner = "spec/CONFIGURATION.md#errors-and-diagnostics",
.suites = .{ .u, .pty },
.invariant_status = .mapped,
.platform_evidence_status = .not_required,
.limitation_status = .recorded,
.limitation_references = .{"spec/fixtures/requirements/manifest.md#limitations"},
},
.{
.id = "TJ-CLI-01",
.revision = 1,
.status = .accepted,
.label = "exact option set and no unattended mode",
.owner = "spec/model/cli.zon",
.suites = .{ .u, .pty },
.invariant_status = .mapped,
.platform_evidence_status = .not_required,
.limitation_status = .recorded,
.limitation_references = .{"spec/fixtures/cli/help.md#limitations"},
},
.{
.id = "TJ-CLI-02",
.revision = 1,
.status = .accepted,
.label = "option grammar and conflicts",
.owner = "spec/model/cli.zon",
.suites = .{.u},
.invariant_status = .mapped,
.platform_evidence_status = .not_required,
.limitation_status = .recorded,
.limitation_references = .{"spec/fixtures/cli/usage.md#limitations"},
},
.{
.id = "TJ-CLI-03",
.revision = 1,
.status = .accepted,
.label = "streams, bypass, and exit status",
.owner = "spec/model/cli.zon",
.suites = .{ .u, .pty },
.invariant_status = .mapped,
.platform_evidence_status = .not_required,
.limitation_status = .recorded,
.limitation_references = .{ "spec/fixtures/cli/help.md#limitations", "spec/fixtures/cli/version.md#limitations", "spec/fixtures/cli/usage.md#limitations", "spec/fixtures/cli/terminal.md#limitations" },
},
},
},
.{
.title = "Build and release artifacts",
.requirements = .{
.{
.id = "TJ-ART-01",
.revision = 1,
.status = .accepted,
.label = "artifact classes and non-equivalence",
.owner = "spec/ARTIFACT.md#artifact-classes",
.suites = .{ .u, .r },
.invariant_status = .mapped,
.platform_evidence_status = .not_required,
.limitation_status = .recorded,
.limitation_references = .{"spec/fixtures/requirements/manifest.md#limitations"},
},
.{
.id = "TJ-ART-02",
.revision = 1,
.status = .accepted,
.label = "canonical version identity",
.owner = "spec/ARTIFACT.md#identity",
.suites = .{ .u, .a },
.invariant_status = .mapped,
.platform_evidence_status = .not_required,
.limitation_status = .recorded,
.limitation_references = .{"spec/fixtures/cli/version.md#limitations"},
},
.{
.id = "TJ-ART-03",
.revision = 1,
.status = .accepted,
.label = "immutable tag, names, and checksum meaning",
.owner = "spec/ARTIFACT.md#identity",
.suites = .{ .u, .a },
.invariant_status = .mapped,
.platform_evidence_status = .not_required,
.limitation_status = .recorded,
.limitation_references = .{"spec/fixtures/cli/version.md#limitations"},
},
.{
.id = "TJ-ART-04",
.revision = 1,
.status = .accepted,
.label = "release-safe executable contract",
.owner = "spec/ARTIFACT.md#build-artifact",
.suites = .{ .u, .a, .m },
.invariant_status = .mapped,
.platform_evidence_status = .required_missing,
.limitation_status = .recorded,
.limitation_references = .{"spec/fixtures/requirements/manifest.md#limitations"},
},
.{
.id = "TJ-ART-05",
.revision = 1,
.status = .accepted,
.label = "separate debug evidence",
.owner = "spec/ARTIFACT.md#build-artifact",
.suites = .{ .u, .a },
.invariant_status = .mapped,
.platform_evidence_status = .not_required,
.limitation_status = .recorded,
.limitation_references = .{"spec/fixtures/requirements/manifest.md#limitations"},
},
.{
.id = "TJ-ART-06",
.revision = 1,
.status = .accepted,
.label = "complete bounded release-input contents",
.owner = "spec/ARTIFACT.md#release-input",
.suites = .{ .u, .a },
.invariant_status = .mapped,
.platform_evidence_status = .not_required,
.limitation_status = .recorded,
.limitation_references = .{"spec/fixtures/requirements/manifest.md#limitations"},
},
.{
.id = "TJ-ART-07",
.revision = 1,
.status = .accepted,
.label = "deterministic safe archive structure",
.owner = "spec/ARTIFACT.md#release-input",
.suites = .{ .u, .a },
.invariant_status = .mapped,
.platform_evidence_status = .not_required,
.limitation_status = .recorded,
.limitation_references = .{"spec/fixtures/requirements/manifest.md#limitations"},
},
.{
.id = "TJ-ART-08",
.revision = 1,
.status = .accepted,
.label = "checksum manifest",
.owner = "spec/ARTIFACT.md#release-input",
.suites = .{ .u, .a },
.invariant_status = .mapped,
.platform_evidence_status = .not_required,
.limitation_status = .recorded,
.limitation_references = .{"spec/fixtures/requirements/manifest.md#limitations"},
},
.{
.id = "TJ-ART-09",
.revision = 1,
.status = .accepted,
.label = "bounded attributable evidence",
.owner = "spec/ARTIFACT.md#evidence-artifacts",
.suites = .{ .u, .a, .m },
.invariant_status = .mapped,
.platform_evidence_status = .required_missing,
.limitation_status = .recorded,
.limitation_references = .{"spec/fixtures/requirements/manifest.md#limitations"},
},
.{
.id = "TJ-ART-10",
.revision = 1,
.status = .accepted,
.label = "source and executable reproducibility",
.owner = "spec/ARTIFACT.md#reproducibility",
.suites = .{ .a, .m },
.invariant_status = .mapped,
.platform_evidence_status = .required_missing,
.limitation_status = .recorded,
.limitation_references = .{"spec/fixtures/requirements/manifest.md#limitations"},
},
.{
.id = "TJ-ART-11",
.revision = 1,
.status = .accepted,
.label = "artifact verification gate",
.owner = "spec/ARTIFACT.md#verification",
.suites = .{ .u, .a, .m },
.invariant_status = .mapped,
.platform_evidence_status = .required_missing,
.limitation_status = .recorded,
.limitation_references = .{"spec/fixtures/requirements/manifest.md#limitations"},
},
.{
.id = "TJ-ART-12",
.revision = 1,
.status = .accepted,
.label = "retention and correction",
.owner = "spec/ARTIFACT.md#retention-and-publication",
.suites = .{ .u, .m },
.invariant_status = .mapped,
.platform_evidence_status = .required_missing,
.limitation_status = .recorded,
.limitation_references = .{"spec/fixtures/requirements/manifest.md#limitations"},
},
},
},
.{
.title = "Installed documentation and distribution",
.requirements = .{
.{
.id = "TJ-MAN-01",
.revision = 1,
.status = .accepted,
.label = "manual source and installation",
.owner = "spec/MAN_PAGE.md#artifact",
.suites = .{ .u, .a },
.invariant_status = .mapped,
.platform_evidence_status = .not_required,
.limitation_status = .recorded,
.limitation_references = .{"spec/fixtures/requirements/manifest.md#limitations"},
},
.{
.id = "TJ-MAN-02",
.revision = 1,
.status = .accepted,
.label = "release identity and deterministic date",
.owner = "spec/MAN_PAGE.md#artifact",
.suites = .{ .u, .a },
.invariant_status = .mapped,
.platform_evidence_status = .not_required,
.limitation_status = .recorded,
.limitation_references = .{"spec/fixtures/requirements/manifest.md#limitations"},
},
.{
.id = "TJ-MAN-03",
.revision = 1,
.status = .accepted,
.label = "required manual content",
.owner = "spec/MAN_PAGE.md#required-content",
.suites = .{ .u, .r },
.invariant_status = .mapped,
.platform_evidence_status = .not_required,
.limitation_status = .recorded,
.limitation_references = .{"spec/fixtures/requirements/manifest.md#limitations"},
},
.{
.id = "TJ-MAN-04",
.revision = 1,
.status = .accepted,
.label = "bounded user-facing claims",
.owner = "spec/MAN_PAGE.md#required-content",
.suites = .{ .u, .r },
.invariant_status = .mapped,
.platform_evidence_status = .not_required,
.limitation_status = .recorded,
.limitation_references = .{"spec/fixtures/requirements/manifest.md#limitations"},
},
.{
.id = "TJ-MAN-05",
.revision = 1,
.status = .accepted,
.label = "help and manual synchronization",
.owner = "spec/MAN_PAGE.md#synchronization",
.suites = .{.u},
.invariant_status = .mapped,
.platform_evidence_status = .not_required,
.limitation_status = .recorded,
.limitation_references = .{"spec/fixtures/cli/help.md#limitations"},
},
.{
.id = "TJ-MAN-06",
.revision = 1,
.status = .accepted,
.label = "same-change updates",
.owner = "spec/MAN_PAGE.md#synchronization",
.suites = .{.u},
.invariant_status = .mapped,
.platform_evidence_status = .not_required,
.limitation_status = .recorded,
.limitation_references = .{"spec/fixtures/requirements/manifest.md#limitations"},
},
.{
.id = "TJ-MAN-07",
.revision = 1,
.status = .accepted,
.label = "parse, render, install, and lookup checks",
.owner = "spec/MAN_PAGE.md#rendering-and-verification",
.suites = .{ .u, .a, .m },
.invariant_status = .mapped,
.platform_evidence_status = .required_missing,
.limitation_status = .recorded,
.limitation_references = .{"spec/fixtures/requirements/manifest.md#limitations"},
},
.{
.id = "TJ-DIST-01",
.revision = 1,
.status = .accepted,
.label = "upstream and Termux ownership boundary",
.owner = "spec/TERMUX_PACKAGES.md#ownership-boundary",
.suites = .{ .u, .m },
.invariant_status = .mapped,
.platform_evidence_status = .required_missing,
.limitation_status = .recorded,
.limitation_references = .{"spec/fixtures/requirements/manifest.md#limitations"},
},
.{
.id = "TJ-DIST-02",
.revision = 1,
.status = .accepted,
.label = "package identity and payload",
.owner = "spec/TERMUX_PACKAGES.md#package-identity-and-contents",
.suites = .{ .a, .m },
.invariant_status = .mapped,
.platform_evidence_status = .required_missing,
.limitation_status = .recorded,
.limitation_references = .{"spec/fixtures/requirements/manifest.md#limitations"},
},
.{
.id = "TJ-DIST-03",
.revision = 1,
.status = .accepted,
.label = "package-manager-owned upgrades",
.owner = "spec/TERMUX_PACKAGES.md#package-identity-and-contents",
.suites = .{.a},
.invariant_status = .mapped,
.platform_evidence_status = .not_required,
.limitation_status = .recorded,
.limitation_references = .{"spec/fixtures/requirements/manifest.md#limitations"},
},
.{
.id = "TJ-DIST-04",
.revision = 1,
.status = .accepted,
.label = "immutable upstream release input",
.owner = "spec/TERMUX_PACKAGES.md#upstream-release-input",
.suites = .{ .u, .a },
.invariant_status = .mapped,
.platform_evidence_status = .not_required,
.limitation_status = .recorded,
.limitation_references = .{"spec/fixtures/requirements/manifest.md#limitations"},
},
.{
.id = "TJ-DIST-05",
.revision = 1,
.status = .accepted,
.label = "Termux recipe contract",
.owner = "spec/TERMUX_PACKAGES.md#recipe-requirements",
.suites = .{ .a, .m },
.invariant_status = .mapped,
.platform_evidence_status = .required_missing,
.limitation_status = .recorded,
.limitation_references = .{"spec/fixtures/requirements/manifest.md#limitations"},
},
.{
.id = "TJ-DIST-06",
.revision = 1,
.status = .accepted,
.label = "architecture and package-size evidence",
.owner = "spec/TERMUX_PACKAGES.md#recipe-requirements",
.suites = .{ .a, .m },
.invariant_status = .mapped,
.platform_evidence_status = .required_missing,
.limitation_status = .recorded,
.limitation_references = .{"spec/fixtures/requirements/manifest.md#limitations"},
},
.{
.id = "TJ-DIST-07",
.revision = 1,
.status = .accepted,
.label = "new-package submission workflow",
.owner = "spec/TERMUX_PACKAGES.md#submission-workflow",
.suites = .{ .a, .m },
.invariant_status = .mapped,
.platform_evidence_status = .required_missing,
.limitation_status = .recorded,
.limitation_references = .{"spec/fixtures/requirements/manifest.md#limitations"},
},
.{
.id = "TJ-DIST-08",
.revision = 1,
.status = .accepted,
.label = "update and revision workflow",
.owner = "spec/TERMUX_PACKAGES.md#submission-workflow",
.suites = .{ .a, .m },
.invariant_status = .mapped,
.platform_evidence_status = .required_missing,
.limitation_status = .recorded,
.limitation_references = .{"spec/fixtures/requirements/manifest.md#limitations"},
},
.{
.id = "TJ-DIST-09",
.revision = 1,
.status = .accepted,
.label = "maintainer-only merge and deployment",
.owner = "spec/TERMUX_PACKAGES.md#submission-workflow",
.suites = .{.m},
.invariant_status = .mapped,
.platform_evidence_status = .required_missing,
.limitation_status = .recorded,
.limitation_references = .{"spec/fixtures/requirements/manifest.md#limitations"},
},
.{
.id = "TJ-DIST-10",
.revision = 1,
.status = .accepted,
.label = "package acceptance checks",
.owner = "spec/TERMUX_PACKAGES.md#package-acceptance",
.suites = .{ .a, .pty, .m },
.invariant_status = .mapped,
.platform_evidence_status = .required_missing,
.limitation_status = .recorded,
.limitation_references = .{"spec/fixtures/requirements/manifest.md#limitations"},
},
.{
.id = "TJ-DIST-11",
.revision = 1,
.status = .accepted,
.label = "deployment states and verification",
.owner = "spec/TERMUX_PACKAGES.md#deployment-verification",
.suites = .{ .a, .m },
.invariant_status = .mapped,
.platform_evidence_status = .required_missing,
.limitation_status = .recorded,
.limitation_references = .{"spec/fixtures/requirements/manifest.md#limitations"},
},
.{
.id = "TJ-DIST-12",
.revision = 1,
.status = .accepted,
.label = "fail-closed publication and correction",
.owner = "spec/TERMUX_PACKAGES.md#failure-and-correction",
.suites = .{ .u, .m },
.invariant_status = .mapped,
.platform_evidence_status = .required_missing,
.limitation_status = .recorded,
.limitation_references = .{"spec/fixtures/requirements/manifest.md#limitations"},
},
.{
.id = "TJ-DIST-13",
.revision = 1,
.status = .accepted,
.label = "pinned external policy evidence",
.owner = "spec/TERMUX_PACKAGES.md#external-policy-evidence",
.suites = .{.m},
.invariant_status = .mapped,
.platform_evidence_status = .required_missing,
.limitation_status = .recorded,
.limitation_references = .{"spec/fixtures/requirements/manifest.md#limitations"},
},
},
},
.{
.title = "Verification and repository policy",
.requirements = .{
.{
.id = "TJ-TEST-01",
.revision = 2,
.status = .accepted,
.label = "deterministic production boundaries and suites",
.owner = "spec/TESTING.md#design",
.suites = .{ .u, .sm, .r, .a, .pty, .sim },
.invariant_status = .mapped,
.platform_evidence_status = .not_required,
.limitation_status = .recorded,
.limitation_references = .{"spec/fixtures/requirements/manifest.md#limitations"},
},
.{
.id = "TJ-TEST-02",
.revision = 1,
.status = .accepted,
.label = "adapter capability evidence",
.owner = "spec/TESTING.md#adapter-capability-evidence",
.suites = .{ .a, .m },
.invariant_status = .mapped,
.platform_evidence_status = .required_missing,
.limitation_status = .recorded,
.limitation_references = .{"spec/fixtures/requirements/manifest.md#limitations"},
},
.{
.id = "TJ-TEST-03",
.revision = 1,
.status = .accepted,
.label = "fixed allocator and capacity boundaries",
.owner = "spec/TESTING.md#suites",
.suites = .{ .u, .sm, .sim },
.invariant_status = .mapped,
.platform_evidence_status = .not_required,
.limitation_status = .recorded,
.limitation_references = .{"spec/fixtures/requirements/manifest.md#limitations"},
},
.{
.id = "TJ-TEST-04",
.revision = 1,
.status = .accepted,
.label = "evidence fields and limitations",
.owner = "spec/TESTING.md#evidence",
.suites = .{.all},
.invariant_status = .mapped,
.platform_evidence_status = .not_required,
.limitation_status = .recorded,
.limitation_references = .{"spec/fixtures/requirements/manifest.md#limitations"},
},
.{
.id = "TJ-TEST-05",
.revision = 1,
.status = .accepted,
.label = "build gates",
.owner = "spec/TESTING.md#gates",
.suites = .{.all},
.invariant_status = .mapped,
.platform_evidence_status = .not_required,
.limitation_status = .recorded,
.limitation_references = .{"spec/fixtures/requirements/manifest.md#limitations"},
},
.{
.id = "TJ-STYLE-01",
.revision = 1,
.status = .accepted,
.label = "implementation and repository constraints",
.owner = "spec/CODING_STYLE.md#repository-additions",
.suites = .{ .u, .a },
.invariant_status = .mapped,
.platform_evidence_status = .not_required,
.limitation_status = .recorded,
.limitation_references = .{"spec/fixtures/requirements/manifest.md#limitations"},
},
},
},
.{
.title = "Performance",
.requirements = .{
.{
.id = "TJ-PERF-01",
.revision = 1,
.status = .accepted,
.label = "performance resource model",
.owner = "spec/PERFORMANCE.md#resource-model",
.suites = .{.u},
.invariant_status = .mapped,
.platform_evidence_status = .not_required,
.limitation_status = .recorded,
.limitation_references = .{"spec/fixtures/requirements/manifest.md#limitations"},
},
.{
.id = "TJ-PERF-02",
.revision = 1,
.status = .accepted,
.label = "explicit performance budgets",
.owner = "spec/PERFORMANCE.md#explicit-budgets",
.suites = .{ .u, .sim },
.invariant_status = .mapped,
.platform_evidence_status = .not_required,
.limitation_status = .recorded,
.limitation_references = .{"spec/fixtures/requirements/manifest.md#limitations"},
},
.{
.id = "TJ-PERF-03",
.revision = 1,
.status = .accepted,
.label = "expected bottlenecks",
.owner = "spec/PERFORMANCE.md#expected-bottlenecks",
.suites = .{.u},
.invariant_status = .mapped,
.platform_evidence_status = .not_required,
.limitation_status = .recorded,
.limitation_references = .{"spec/fixtures/requirements/manifest.md#limitations"},
},
.{
.id = "TJ-PERF-04",
.revision = 1,
.status = .accepted,
.label = "measurement methods",
.owner = "spec/PERFORMANCE.md#measurement-methods",
.suites = .{ .u, .sim },
.invariant_status = .mapped,
.platform_evidence_status = .not_required,
.limitation_status = .recorded,
.limitation_references = .{"spec/fixtures/requirements/manifest.md#limitations"},
},
.{
.id = "TJ-PERF-05",
.revision = 1,
.status = .accepted,
.label = "deterministic benchmarks",
.owner = "spec/PERFORMANCE.md#benchmarks",
.suites = .{.u},
.invariant_status = .mapped,
.platform_evidence_status = .not_required,
.limitation_status = .recorded,
.limitation_references = .{"spec/fixtures/requirements/manifest.md#limitations"},
},
.{
.id = "TJ-PERF-06",
.revision = 1,
.status = .accepted,
.label = "profiling evidence",
.owner = "spec/PERFORMANCE.md#profiling-evidence",
.suites = .{.m},
.invariant_status = .mapped,
.platform_evidence_status = .required_missing,
.limitation_status = .recorded,
.limitation_references = .{"spec/fixtures/requirements/manifest.md#limitations"},
},
.{
.id = "TJ-PERF-07",
.revision = 1,
.status = .accepted,
.label = "regression criteria",
.owner = "spec/PERFORMANCE.md#regression-criteria",
.suites = .{.u},
.invariant_status = .mapped,
.platform_evidence_status = .not_required,
.limitation_status = .recorded,
.limitation_references = .{"spec/fixtures/requirements/manifest.md#limitations"},
},
},
},
}