Skip to content

DO NOT MERGE — fork-only content view - #7

Draft
jdsika wants to merge 1 commit into
3.0from
fork-only/3.0
Draft

jdsika wants to merge 1 commit into
3.0from
fork-only/3.0

Conversation

@jdsika

@jdsika jdsika commented Oct 23, 2026

Copy link
Copy Markdown

Standing artifact. Never merge, never mark ready for review, never commit to this branch.

What

fork-only/3.0 is a published copy of the single chore(fork): commit that sits at the base of
the integration/3.0 stack. This PR exists so that its Files changed tab shows exactly the
content this fork adds and never sends upstream — the process rules, the contributing guide, the PR
template, and the fork-only workflows — with no feature commits mixed in.

Why

The other standing draft PR (#1) shows the whole stack against the mirror, so fork-only content and
features are interleaved there. This one answers the narrower question on its own.

The branch is a view, not storage: the authoritative copy of this content is the base commit on
integration/3.0, which is the default branch and therefore what agents, CI and the internal
submodule pin actually read.

Notes

  • Republished by hand as the last step of the fold (section 3.3) and the stack rebase (section 7),
    in the same atomic push that moves integration/3.0.
  • It is not published by a workflow: GitHub blocks GITHUB_TOKEN from pushing any commit that
    touches .github/workflows/, and the fork base is almost entirely workflow files.
  • .github/workflows/fork-only-view.yml is a read-only detector: it fails if this branch is
    missing or stale, prints the exact repair command, and checks that this PR keeps its contract
    (base 3.0, draft, do-not-merge).
  • It carries do-not-merge alone. Both labels together mean a PR is actively rewriting the
    process (section 4.1); this one is a permanent fixture, not a change.

@jdsika jdsika added do-not-merge Never use the merge button; applied by fixup (3.3) or never merged at all and removed do-not-merge Never use the merge button; applied by fixup (3.3) or never merged at all labels Oct 23, 2026
ASCS-eV/PufferDrive is consumed as a git submodule internally while feeding
features back to Emerge-Lab/PufferDrive. This commit carries everything that
exists only in the fork, and is the single place fork-only content lives.

Branch model:
  3.0              verbatim, fast-forward-only mirror of upstream/3.0
  integration/3.0  default branch; this commit plus a linear stack of
                   single-commit features; what internal consumers pin
  feature/<slug>   one feature, exactly one commit
  mirror/<slug>    cherry-picked onto pure upstream/3.0 for upstream PRs

integration/3.0 is the default branch because GitHub reads the PR template,
the contributing guidelines, the agent instructions and scheduled workflows
only from the default branch, and none of those files may exist on 3.0
without destroying the mirror. A clone checks out the default branch, so the
copy of the instructions here is the process as far as every agent and every
submodule consumer is concerned; a rule that lives only in an open PR has no
effect.

Nothing reaches integration/3.0 until three gates pass:
  1. CI green on the final commit.
  2. Adversarial review by someone other than the author, with the findings
     written down -- including the probes that found nothing.
  3. Upstream-readiness proven rather than asserted: the commit cherry-picks
     onto a branch cut from pure upstream/3.0 and produces an upstream-clean
     diff. We stack only commits we could contribute today.

chore(fork): commits are exempt from gate 3, since fork-only infrastructure
can never be upstream-ready. They carry two orthogonal markers: do-not-mirror
(must never reach upstream) and do-not-merge (the merge button is never
pressed -- merging would create a second chore(fork): commit and break the
single-commit invariant that every sync asserts). Such a PR is folded into
this commit by fixup and closed unmerged.

Contents:
- .github/copilot-instructions.md: normative process for coding agents
- CONTRIBUTING.md: human orientation, same rules
- .github/pull_request_template.md: testing and stack-hygiene gates
- .github/workflows/sync-mirror.yml: fast-forward-only mirror sync that
  refuses any non-fast-forward instead of rewriting the upstream base
- AGENTS.md / CLAUDE.md: fenced pointer so agents find the fork process
  without colliding with upstream-owned content
- ci.yml / install.yml: run CI for PRs targeting integration/3.0, which
  upstream's branch filters would otherwise skip

A standing draft PR from integration/3.0 into 3.0 gives a continuous CI
verdict on the combined stack; it must never be merged.

Everything here is fork-only and must never be cherry-picked upstream.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

do-not-merge Never use the merge button; applied by fixup (3.3) or never merged at all

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant