repositories / termux-janitor
termux-janitor
Interactive cleanup assistant for Termux: transparent, safe, confirmed disk reclamation.
owned by admin
spec/model/concepts.zon
Raw.{
.{
.id = "concept-action",
.term = "action",
.definition =
\\One operator-visible unit in the confirmed cleanup plan. A direct filesystem
\\action may contain multiple entry mutations through a complete reviewed manifest; a
\\package action is one manager operation.
,
.owner = "spec/model/concepts.zon",
.invariants = .{
"An action is operator-visible.",
"An action belongs to one confirmed plan.",
},
.aliases = .{},
.non_equivalent = .{ "concept-finding", "concept-mutation" },
.requirements = .{ "TJ-PLAN-03", "TJ-PLAN-04" },
},
.{
.id = "concept-adapter",
.term = "adapter",
.definition =
\\An integration that discovers, explains, plans, and executes cleanup for one package
\\ecosystem.
,
.owner = "spec/model/concepts.zon",
.invariants = .{
"An adapter owns exactly one package ecosystem integration.",
},
.aliases = .{},
.non_equivalent = .{},
.requirements = .{ "TJ-ADAPT-01", "TJ-ADAPT-05" },
},
.{
.id = "concept-candidate",
.term = "candidate",
.definition = "A finding the operator may select manually.",
.owner = "spec/model/concepts.zon",
.invariants = .{
"Every candidate is a finding.",
"Candidate status alone never authorizes mutation.",
},
.aliases = .{},
.non_equivalent = .{ "concept-finding", "concept-recommended-candidate" },
.requirements = .{ "TJ-CORE-02", "TJ-CLASS-13" },
},
.{
.id = "concept-effect-set",
.term = "effect set",
.definition =
\\The manager-level transaction items reviewed for a package action, including packages,
\\cache scope, indirect operations, and declared hook invocations. It does not claim to
\\enumerate every internal filesystem write performed by the manager.
,
.owner = "spec/model/concepts.zon",
.invariants = .{
"An effect set is manager-level rather than file-level authority.",
},
.aliases = .{},
.non_equivalent = .{},
.requirements = .{ "TJ-ADAPT-06", "TJ-ADAPT-07" },
},
.{
.id = "concept-finding",
.term = "finding",
.definition =
\\A retained filesystem item or package-manager operation shown in the unified
\\checklist.
,
.owner = "spec/model/concepts.zon",
.invariants = .{
"A finding is retained and operator-visible.",
"Finding status alone never implies selection or recommendation.",
},
.aliases = .{},
.non_equivalent = .{ "concept-candidate", "concept-action" },
.requirements = .{ "TJ-CORE-03", "TJ-UI-01" },
},
.{
.id = "concept-manual-only-candidate",
.term = "manual-only candidate",
.definition =
\\A sensitive candidate that may be selected individually but is never pre-selected or
\\selected by a bulk command.
,
.owner = "spec/model/concepts.zon",
.invariants = .{
"Individual operator selection is required.",
"Recommendation and bulk selection are forbidden.",
},
.aliases = .{},
.non_equivalent = .{"concept-recommended-candidate"},
.requirements = .{ "TJ-CORE-03", "TJ-CLASS-13" },
},
.{
.id = "concept-mutation",
.term = "mutation",
.definition = "One change to a filesystem entry or package-manager-owned state.",
.owner = "spec/model/concepts.zon",
.invariants = .{
"A mutation changes exactly one filesystem entry or package-manager-owned state.",
},
.aliases = .{},
.non_equivalent = .{"concept-action"},
.requirements = .{ "TJ-CORE-01", "TJ-EXEC-02" },
},
.{
.id = "concept-recommended-candidate",
.term = "recommended candidate",
.definition = "A candidate pre-selected by a high-confidence safety rule.",
.owner = "spec/model/concepts.zon",
.invariants = .{
"Every recommended candidate is a candidate.",
"Every recommendation has high-confidence evidence and an explanation.",
},
.aliases = .{},
.non_equivalent = .{ "concept-candidate", "concept-manual-only-candidate" },
.requirements = .{ "TJ-CORE-04", "TJ-CLASS-15" },
},
.{
.id = "concept-workspace",
.term = "workspace",
.definition = "A configured root containing personal source repositories.",
.owner = "spec/model/concepts.zon",
.invariants = .{
"Workspace content remains manually selectable but is never recommended by default.",
},
.aliases = .{},
.non_equivalent = .{},
.requirements = .{ "TJ-CLASS-13", "TJ-SCAN-01" },
},
}