Skip to content

fix(sync): add explicit --base and --repo to gh pr create - #22

Merged
iamkayleb merged 1 commit into
mainfrom
claude/check-multi-agent-support-D9Be2
Mar 25, 2026
Merged

iamkayleb merged 1 commit into
mainfrom
claude/check-multi-agent-support-D9Be2

Conversation

@iamkayleb

Copy link
Copy Markdown
Owner

The gh pr create command in a shallow clone (--depth=1) fails with "Head sha can't be blank, Base sha can't be blank" because it cannot infer the base branch from the truncated git history.

Adding --base main and --repo explicitly resolves the ambiguity.

https://claude.ai/code/session_01FC8XoyssN5v6hQCTtcjoB5

The gh pr create command in a shallow clone (--depth=1) fails with
"Head sha can't be blank, Base sha can't be blank" because it cannot
infer the base branch from the truncated git history.

Adding --base main and --repo explicitly resolves the ambiguity.

https://claude.ai/code/session_01FC8XoyssN5v6hQCTtcjoB5
@iamkayleb

Copy link
Copy Markdown
Owner Author

⚠️ Action Required: Unable to determine source issue for PR #22. The PR title, branch name, or body must contain the issue number (e.g. stranske#123, branch: issue-123, or the hidden marker ).

@iamkayleb
iamkayleb temporarily deployed to agent-high-privilege March 25, 2026 10:44 — with GitHub Actions Inactive
@iamkayleb
iamkayleb merged commit 6765fcc into main Mar 25, 2026
34 checks passed
@iamkayleb

Copy link
Copy Markdown
Owner Author

Automated Status Summary

Head SHA: dc92810
Latest Runs: ⏳ pending — Gate
Required contexts: Gate / gate, Health 45 Agents Guard / guard
Required: core tests (3.11): ⏳ pending, core tests (3.12): ⏳ pending, docker smoke: ⏳ pending, gate: ⏳ pending

Workflow / Job Result Logs
(no jobs reported) ⏳ pending

Coverage Overview

  • Coverage history entries: 1

Coverage Trend

Metric Value
Current 93.12%
Baseline 85.00%
Delta +8.12%
Minimum 70.00%
Status ✅ Pass

Top Coverage Hotspots (lowest coverage)

File Coverage Missing
src/cli_parser.py 81.8% 4
src/percentile_calculator.py 95.0% 1
src/aggregator.py 95.0% 2
src/__init__.py 100.0% 0
src/ndjson_parser.py 100.0% 0

Updated automatically; will refresh on subsequent CI/Docker completions.


Keepalive checklist

Scope

No scope information available

Tasks

  • No tasks defined

Acceptance criteria

  • No acceptance criteria defined

iamkayleb pushed a commit that referenced this pull request Aug 22, 2026
…ke#2956)

* feat(fleet): issue-format guard synced to every consumer repo

Every automated lane reaches an issue through a LABEL. An issue filed with no
label and no Tasks/Acceptance block is therefore invisible to the whole
pipeline: nothing validates it, nothing optimises it, nothing claims it. Local
automation that files *findings* rather than *work orders* produces exactly that
— good evidence, permanently unactionable.

Observed in Fine-Art-Archive stranske#406-409: four well-evidenced audit findings from a
local audit script, zero labels between them, no Tasks section. That repo
already had agents-issue-optimizer.yml with a `format` phase — but it triggers on
`issues: [labeled]`, so an unlabelled issue never reached the very machinery
built to fix it.

Adds, and registers in .github/sync-manifest.yml so all 13 consumer repos
receive them:

  * .github/scripts/issue_format.py — the single fleet definition of
    "agent-processable", mirroring docs/AGENT_ISSUE_FORMAT.md rather than
    inventing a parallel standard: Tasks and Acceptance Criteria required;
    Why/Scope/Non-Goals recommended; at least one acceptance criterion must name
    a real test, runnable command or observable verification gate. Also flags
    Tasks without checkboxes and the guide's banned subjective adjectives.
    Pure stdlib on purpose so it runs on a bare runner with no install step, and
    so local filers can pre-flight with
    `python .github/scripts/issue_format.py <body>` before `gh issue create`
    (non-zero exit = unfit).

  * templates/consumer-repo/.github/workflows/agents-issue-format-guard.yml —
    validates on opened/edited/reopened and, on failure, applies `agents:format`,
    the label the optimizer already listens for. So a bad issue is ROUTED to the
    repairer rather than merely flagged; the label is cleared once the body
    conforms. Skips `agents:formatted` so it never fights the optimizer's own
    edits, fingerprints its comment by body hash so an edit burst cannot spam a
    thread, skips cleanly if the validator has not synced yet, and tolerates a
    repo whose label set predates `agents:format`.

Verified: manifest compiles (219 copy entries), validate_template_completeness
passes --strict, actions/checkout SHA-pinned to match the template convention,
and the validator rejects all four real stranske#406-409 bodies while accepting a
conforming one.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>

* fix(fleet): exempt tracking-only issues from the format guard

Running the guard across a real repo's whole open-issue list surfaced the gap:
6 of 10 issues legitimately are NOT work orders and never will be —
- #21/#22/#23 blocked epics whose bodies say 'do not dispatch'
- #36/stranske#114 self-described tracking issues
- #80 Renovate's Dependency Dashboard
Nagging those forever trains people to ignore the guard, which costs more than
it catches. So the guard now skips an issue when any of:
  * label tracker:durable or wontfix
  * a bot author (Renovate, Dependabot, any *[bot]*)
  * a body declaring 'do not dispatch' / 'not a repo|cloud coding task'

Requires author in the gh issue view field set. All downstream steps honour the
exemption, so an exempt issue is neither commented on nor labelled.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>

* chore(autofix): formatting/lint

* fix: restore issue format guard source and routing

* fix: regenerate renovate ownership for issue-format guard paths

CI failed because sync-manifest added issue_format.py and
agents-issue-format-guard.yml without refreshing the generated
consumer-managed-paths preset.

Co-authored-by: Cursor <cursoragent@cursor.com>

---------

Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Co-authored-by: Codex Automation <codex-automation@users.noreply.github.com>
Co-authored-by: Cursor <cursoragent@cursor.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants