Skip to content

source-control: dossier branches per owning item - part 1 of 2 #10149

Description

@melodic-automation-lanes

Part 1 of 2 of #7579, split at intake (owner Q93). The done-when below is copied from #7579 as written.

Done when

  • The source-control convention and /work-items:work both name the dossier/ prefix (0

Activity

  1. added
    needs-triageNot yet classified. Floor until a type and one priority tier are set.
    on Oct 26, 2026
  2. github-actions commented on Oct 26, 2026

    @github-actions
    Contributor

    Proposed work class: work-class: scoped
    Basis: automated intake triage; the lanes App applied this class.

    Size: Medium
    Complexity: Low
    Uncertainty: Known
    Flags: none
    Blocked by: none

    Part 1 of the dossier-branch split (#7579): add the dossier_branch_prefix setting (default dossier/), name the prefix in the source-control convention and /work-items:work, and add a branch-name test case.

    The recorded decision settles the open questions: the truncated done-when line, which file is the convention, which test applies, and that the work isn't blocked. I'm asking nothing further.

    Decision recorded.

    Issue Triage session, answering the intake refinement question on this issue (the lanes App triage comment of 2026-10-26T01:41:07Z). Nothing here is the owner's word; each answer rests on the parent's text or on main at 4eac1bcc3d.

    [quote truncated; the full decision is at the link]

    #10149 (comment)

    Automated triage, applied by the lanes App.

  3. melodic-automation-lanes commented on Oct 26, 2026

    @melodic-automation-lanes
    ContributorAuthor

    The latest triage verdict holds nothing: the issue is at status: ready.

  4. added
    work-class: scopedA briefed fix or small feature; blast radius bounded by the brief, tests exist.
    and removed
    needs-triageNot yet classified. Floor until a type and one priority tier are set.
    on Oct 26, 2026
  5. kyle-sexton commented on Nov 1, 2026

    @kyle-sexton
    Member

    Decision recorded.

    Issue Triage session, answering the intake refinement question on this issue (the lanes App triage comment of 2026-10-26T01:41:07Z). Nothing here is the owner's word; each answer rests on the parent's text or on main at 4eac1bcc3d.

    1. The truncated done-when line. The split copied the parent's first task-list line only up to its line wrap. The full line in source-control: dossier branches per owning item #7579 reads: "The source-control convention and /work-items:work both name the dossier/ prefix (0 mentions on main), and the branch-name test exits 0." The "(0" opened "(0 mentions on main)", the baseline count. That baseline still holds: git grep -c -i dossier over the whole tracked tree prints nothing at 4eac1bcc3d.
    2. Which file is "the source-control convention". source-control: dossier branches per owning item #7579 lists config-cascade: settings resolution and convention home #7571 as the dependency for the "prefix setting". config-cascade: settings resolution and convention home #7571 (closed as completed on 2026-11-01) sends every plugin setting through one cascade: "plugin default, userConfig, team <home>/<concern>.yaml, personal <home>/<concern>.local.md overlay". It puts the default home at docs/conventions/<concern>.md (+ .yaml), and its Out of scope says "each thread adds its own settings through this cascade". For source-control, that concern is this repository's docs/conventions/source-control.yaml, the team layer. Line 1 of that file names the plugin's schema, plugins/source-control/schemas/source-control.schema.json. The plugin documents its keys in plugins/source-control/reference/config-resolution.md ("YAML keys", line 185). source-control: dossier branches per owning item #7579 asks for "prefix a setting, default dossier/ (repo)". So the prefix becomes the source-control key dossier_branch_prefix, with plugin default dossier/, and this repository's team layer records it.
    3. Which test "the branch-name test" is. The only test of the branch-name grammar in this repository is plugins/source-control/skills/pull-request/scripts/parse-branch-issue.test.sh. Its cases are <type>/<N>-<slug> (lines 44-48) and a tracker key under a custom pattern (line 60). The parser's built-in pattern, ^[a-z]+/(routine-issue-)?([0-9]+)- (parse-branch-issue.sh:347), already matches dossier/<N>-<slug>. The test therefore gains a dossier/<N>-<slug> case, which shows that the tracker's key comes back out of a dossier branch name.
    4. Where <key> comes from, and whether work-items: bug path, triage clusters, claim protocol, trackers and morning brief #7578 blocks this. source-control: dossier branches per owning item #7579 lists work-items: bug path, triage clusters, claim protocol, trackers and morning brief #7578 for "tracker binding". The key it needs is already on main: /work-items:work builds branch names from the bound adapter's branch_ref (plugins/work-items/skills/work/SKILL.md:355; plugins/work-items/skills/track/actions/start.md:45; plugins/work-items/reference/tracker-seam.md:212, which gives 42 on GitHub and ENG-123 on Linear). The other dependency, config-cascade: settings resolution and convention home #7571, closed as completed on 2026-11-01. Part 1 is not blocked.

    Scope: this issue covers task-list line 1 of #7579 only. The pre-push secrets and machine-data check and the slice-closure line are part 2, #10150.

    • plugins/source-control/reference/config-resolution.md ("YAML keys") and plugins/source-control/schemas/source-control.schema.json define the source-control setting dossier_branch_prefix, with plugin default dossier/. The reference states the branch shape dossier/<key>-<slug>, where <key> is the bound tracker adapter's branch_ref, and one dossier per owning item (a parent or spec container gets its own; children add their own only when needed).
    • This repository's source-control convention team layer, docs/conventions/source-control.yaml, sets dossier_branch_prefix: dossier/.
    • plugins/work-items/skills/work/SKILL.md names the dossier/ prefix and the dossier/<key>-<slug> branch shape.
    • git grep -c -i dossier lists every file named in this list; it printed nothing on main at 4eac1bcc3d.
    • plugins/source-control/skills/pull-request/scripts/parse-branch-issue.test.sh has a case for a dossier/<N>-<slug> branch that emits <N>, and the test exits 0.
  6. added
    needs-triageNot yet classified. Floor until a type and one priority tier are set.
    and removed
    status: needs-infoMissing reproduction or details from the reporter.
    on Nov 1, 2026
  7. 5 remaining items

  8. github-actions commented on Nov 1, 2026

    @github-actions
    Contributor
    No description provided.
  9. github-actions commented on Nov 1, 2026

    @github-actions
    Contributor
    No description provided.
  10. melodic-automation-lanes commented on Nov 1, 2026

    @melodic-automation-lanes
    ContributorAuthor

    This records a re-fire of an earlier refusal, not a new refusal. The lanes kill switch stopped run 41320106796, the work-resolve-issue run that agent-ready started, before it did any work; that run ended at 2026-11-01T15:25:25Z. work-unblock has now removed and added agent-ready back to start a fresh run. A kill-switch refusal is no fault in this issue or the lanes, so it never counts against later re-fires; after limits.limit-stops-per-issue of them since a person last added agent-ready or a run last reported, work-unblock waits longer before each one, up to 24 hours.

  11. added
    agent-readyFully specified and briefed; eligible for autonomous pickup from the frontier.
    and removed
    agent-readyFully specified and briefed; eligible for autonomous pickup from the frontier.
    on Nov 1, 2026
  12. github-actions commented on Nov 1, 2026

    @github-actions
    Contributor
    No description provided.
  13. github-actions commented on Nov 1, 2026

    @github-actions
    Contributor
    No description provided.
  14. melodic-automation-lanes commented on Nov 1, 2026

    @melodic-automation-lanes
    ContributorAuthor

    The work-resolve-issue run that agent-ready started failed or was cancelled before it reported, or it stopped or the token broker refused it because its workflow files differ from main's. work-unblock removed and added agent-ready back to start a fresh run on main's workflow files. If this run ends the same way, it re-fires the issue again, waiting longer each time.

  15. added
    agent-readyFully specified and briefed; eligible for autonomous pickup from the frontier.
    and removed
    agent-readyFully specified and briefed; eligible for autonomous pickup from the frontier.
    on Nov 1, 2026
  16. github-actions commented on Nov 1, 2026

    @github-actions
    Contributor
    No description provided.
  17. added
    agent-readyFully specified and briefed; eligible for autonomous pickup from the frontier.
    and removed
    agent-readyFully specified and briefed; eligible for autonomous pickup from the frontier.
    on Nov 1, 2026
  18. github-actions commented on Nov 1, 2026

    @github-actions
    Contributor
    No description provided.
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

    agent-readyFully specified and briefed; eligible for autonomous pickup from the frontier.priority: mediumReal value, no hard deadline; normal backlog flow.status: readyTriaged, unblocked, and fully specified; eligible to pick up.work-class: scopedA briefed fix or small feature; blast radius bounded by the brief, tests exist.

    Fields

    No fields configured for Feature.

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions