Skip to content

id: research: SPDX identifiers and license-detection tooling for the classifier #5979

Open

Description

@dezren39

Part of the worlds design program: #5955. Supports the license taxonomy/classifier design (statements S82–S89 of the 2026-11-04 brief); filed as dedicated research per Drew's rule for sub-parts needing their own documentation.

Task

Survey the existing machinery for machine-readable license identification so the classifier design doesn't invent a private format:

  • SPDX License List: identifiers for every license in the brief's set (MIT and variants incl. MIT-0, BSD family, MPL-2.0, BlueOak-1.0.0, Apache-2.0, GPL-2.0/GPL-3.0/AGPL-3.0 with only/or-later distinctions, CC0-1.0, CC-BY-4.0, CC-BY-SA-4.0, CC NC variants), plus SPDX expressions for combinations (MIT OR Apache-2.0, AND) — the dual-licensing case our own standard (MIT or Apache) needs.
  • Detection tooling: licensee, ScanCode, cargo-about / cargo-deny license checks, REUSE spec compliance — what they detect, from what evidence (headers, manifests, full text matching), and their false-positive behavior on variants.
  • Public domain handling in SPDX (LicenseRef? CC0 as the recommended route?) and how registries (crates.io, npm, PyPI) validate/classify license fields today — including how they treat unlicensed code.
  • What a manifest field should look like in our KDL manifests (#5753) if it's SPDX-expression-shaped.

Done looks like

A research doc: the SPDX identifier table for the brief's full license set, a tooling comparison, and a recommendation for the classifier's identifier + expression format.

Activity

  1. added
    priority/lowNice to have; do when convenient
    app/idPackage/app: id (pkgs/ or apps/ in this repo)
    kind/designA design proposal (design-architect): multi-step, phased, decision-bearing
    on Nov 5, 2026
  2. developing-today commented on Nov 5, 2026

    @developing-today
    Contributor
  3. added
    queue/queuedHas a queued task in the Supabase agent queue
    task/triageQueue packet kind: verify, reproduce, and route this item
    queue/parkedQueue task is parked (waiting on CI, time, or an event)
    status/parkedDeliberately paused with a recorded resume condition
    work/assignedQueue worker lifecycle state
    and removed
    queue/queuedHas a queued task in the Supabase agent queue
    on Nov 5, 2026
  4. dezren39 commented on Nov 5, 2026

    @dezren39
    MemberAuthor

    🤖 Agent note · handed off

    • Agent: queue worker (repo-worker-code), lane code-s
    • Session / ID: task 10348
    • Found via: queue claim
    • Task: Triage of issue id: research: SPDX identifiers and license-detection tooling for the classifier #5979 (id: research: SPDX identifiers and license-detection tooling for the classifier) — assigned to the opencode execution lane (session_id null at assignment); parked 20m after handoff checkpoint. The laptop claimant launches the bound opencode session, which drives task 10348 to its terminal state. Attempts 1/6.
  5. added
    queue/claimedQueue worker lifecycle state
    and removed
    status/parkedDeliberately paused with a recorded resume condition
    on Nov 5, 2026
  6. 135 remaining items

  7. developing-today commented on Nov 6, 2026

    @developing-today
    Contributor

    Picked up by lane code-u as task 10348 (triage, issue #5979). Execution-lane assignment returned opencode: handed off to the opencode claimant, which launches a bound session for task 10348. Checkpoint stage handed_off recorded. Task 10348 is at attempts 3/6; lease until ~2026-11-06T03:52Z. (Posted via the developing.today GitHub App — the user token is GraphQL rate-limited this shift.)

  8. added
    queue/claimedQueue worker lifecycle state
    and removed
    queue/parkedQueue task is parked (waiting on CI, time, or an event)
    status/parkedDeliberately paused with a recorded resume condition
    on Nov 6, 2026
  9. dezren39 commented on Nov 6, 2026

    @dezren39
    MemberAuthor

    🤖 Agent note · handed off

  10. added
    queue/parkedQueue task is parked (waiting on CI, time, or an event)
    status/parkedDeliberately paused with a recorded resume condition
    and removed
    queue/claimedQueue worker lifecycle state
    on Nov 6, 2026
  11. dezren39 commented on Nov 6, 2026

    @dezren39
    MemberAuthor

    🤖 Agent note · handed off

  12. added
    queue/claimedQueue worker lifecycle state
    and removed
    status/parkedDeliberately paused with a recorded resume condition
    queue/parkedQueue task is parked (waiting on CI, time, or an event)
    on Nov 6, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

app/idPackage/app: id (pkgs/ or apps/ in this repo)kind/designA design proposal (design-architect): multi-step, phased, decision-bearingpriority/lowNice to have; do when convenientqueue/claimedQueue worker lifecycle statestatus/in-progressQueue worker lifecycle statetask/triageQueue packet kind: verify, reproduce, and route this itemwork/assignedQueue worker lifecycle state

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions