Skip to content

Read workspace members from chant's read contract, and add CODEOWNERS #62

Closed

Description

@lex00
Level Design Driver
1 INTENTIUS/chant#2524 D19 INTENTIUS/chant#2525

Scope

  • chant core never touches forge settings. The warden declares protections from the workspace read contract.
  • CODEOWNERS support for member directories.

Acceptance criteria

  • The warden reads the member list from chant workspace ls --json.
  • It also reads generated job names and lifecycle paths from the contract.
  • Required checks can be declared per member pipeline.
  • The chant/lifecycle branch can be protected by a ruleset.
  • CODEOWNERS entries can be declared per member directory.

Activity

  1. lex00 commented on Sep 30, 2026

    @lex00
    ContributorAuthor

    Audit 2026-09-30 against chant main 1c1a04a90 and github-warden main b25424a (v0.6.1)

    Criterion State Evidence
    The warden reads the member list from chant workspace ls --json not met github-warden/src has no reference to workspace, and its dependencies are @intentius/chant ^0.72.1. chant workspace ls --json shipped in 0.81.0 (#2593), with output schema ls.schema.json (#2643), so the warden has to move to at least 0.81 first
    It also reads generated job names and lifecycle paths from the contract not met, and the contract does not hold job names ledger and gate paths on chant/lifecycle are in status.schema.json (chant workspace status --json). Generated job names are in no contract document (ls, graph, status and check schemas). That needs a chant-side addition
    Required checks can be declared per member pipeline not met per-member CI pipelines exist in chant (#2542, member-pipeline.ts), but the warden has nothing for them and, per the point above, nothing tells it their job names
    The chant/lifecycle branch can be protected by a ruleset not met no ruleset for it in the warden source. The branch name is a constant in the status contract (lifecycle.ref)
    CODEOWNERS entries can be declared per member directory not met no CODEOWNERS code in the warden. Member directories are in ls --json (members[].dir), so this part is unblocked once the warden moves to 0.81 or later

    Status: not started. Blockers: the chant 0.72.1 to 0.81+ bump in the warden, and job names missing from the read contract. The level-0 and "works on the chant repo" lines are not in this issue.

  2. lex00 commented on Oct 1, 2026

    @lex00
    ContributorAuthor

    PR #63 merged. Met: the warden reads members from chant workspace ls --json (contract 1), and CODEOWNERS entries per member directory (github-warden codeowners). The chant range is now ^0.100.0.

    Left:

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions