Luigit
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" },
    },
}