Skip to content

docs(dedup-program): record medley Phase 6 cutover (option b) + parity backlog - #37

Merged
kyle-sexton merged 1 commit into
mainfrom
docs/dedup-medley-cutover
Jun 24, 2026
Merged

docs(dedup-program): record medley Phase 6 cutover (option b) + parity backlog#37
kyle-sexton merged 1 commit into
mainfrom
docs/dedup-medley-cutover

Conversation

@kyle-sexton

Copy link
Copy Markdown
Contributor

What

Propagate the dedup-program docs to reflect medley's Phase 6 cutover (option b),
which landed across PRs #1156–#1160 in melodic-software/medley.

  • rollout.md — medley row, per-repo note, and sequence now record the
    cutover as done for the cleanly-referenceable lanes (lossless in coverage,
    ci-status green throughout — not lossless-by-reference), and enumerate what
    cut over vs what stays inline.
  • plan.md — Phase 4 records the option-b decision and adds the ci-workflows
    action parity/strictness gaps the cutover surfaced (editorconfig discovery,
    shellcheck severity, pyright --warnings, comment-hygiene coarse-regex,
    gitleaks history-scan, lychee config) as the concrete backlog for a future
    lossless-by-reference cutover; powershell + markdown input parity confirmed;
    the Phase 6 medley checkbox marked at option-b scope.

Docs-only; markdownlint-clean under the standards config.

🤖 Generated with Claude Code

…y backlog

medley cut over its cleanly-referenceable lanes to ci-workflows references
(PRs #1156-#1160): typos, actionlint, check-jsonschema, eol-renormalize,
exec-bit, machine-specific-paths, markdown (lint), ruff, plus advisory
zizmor/osv; .editorconfig-checker.json Version re-synced to "". The cutover is
lossless in coverage (ci-status green throughout), not lossless-by-reference —
gap lanes stay inline.

- rollout.md: medley row + per-repo note + sequence reflect the partial cutover.
- plan.md: Phase 4 records the option-b decision and the action parity/strictness
  gaps the cutover surfaced (editorconfig discovery, shellcheck severity, pyright
  --warnings, comment-hygiene coarse-regex, gitleaks history, lychee config) as
  the backlog for a future lossless-by-reference cutover; powershell + markdown
  parity confirmed; the Phase 6 medley item checked at option-b scope.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@kyle-sexton
kyle-sexton merged commit 97c05ec into main Jun 24, 2026
32 checks passed
@kyle-sexton
kyle-sexton deleted the docs/dedup-medley-cutover branch June 24, 2026 13:59
kyle-sexton added a commit that referenced this pull request Jul 7, 2026
## Summary

Activation-log precision after tonight's completion burst: both Layer-1
packages are published (`@melodic-software/biome-config@1.0.0`,
`@melodic-software/tsconfig@1.0.0` — publish run 28837460018) and the
org-side Layer-2 rollout is done (sync PRs merged in all four org
targets). The checklist now names exactly what remains and why: the
package visibility flip (manual UI, no API) gating the medley
conversion, the personal-account App install gating the kyle-sexton
legs, and the read-only marking.

## Verification

markdownlint (module config) clean.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

https://claude.ai/code/session_01GbDWhcUtduCejgi7mcbMfy

<!-- CURSOR_SUMMARY -->
---

> [!NOTE]
> **Low Risk**
> Documentation-only activation-log update with no runtime or config
behavior changes.
> 
> **Overview**
> Updates the Track B **activation checklist** in
`config-distribution-plan.md` to reflect work completed on 2026-07-06,
without checking off the two parent items yet.
> 
> For **Layer-1**, the text now states both `@melodic-software/*`
packages are published at `@1.0.0` (not only that the workflow landed)
and spells out what still blocks the medley pilot: the **manual
public-visibility flip** (no API), because a private package cannot be
read from medley's CI token.
> 
> For **Layer-2**, the pilot note now records that `github-iac` PR #37
merged (App bot–signed) and that **all four org targets** finished sync
and merge, with PR references. What remains before the checkbox can
close is **read-only marking** and **personal-account** sync legs, still
gated on the GitHub App install on `kyle-sexton`.
> 
> <sup>Reviewed by [Cursor Bugbot](https://cursor.com/bugbot) for commit
35a11ae. Bugbot is set up for automated
code reviews on this repo. Configure
[here](https://www.cursor.com/dashboard/bugbot).</sup>
<!-- /CURSOR_SUMMARY -->

Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
kyle-sexton added a commit that referenced this pull request Jul 15, 2026
…on governance (#123)

## Summary

Closes decisions **#27**, **#63**, and **#65** from the [Decisions
Log](https://claude.ai/code/artifact/232ecdce-8316-4880-8c0a-dc3c7dcf3a63)
(evidence/rationale:
https://claude.ai/code/artifact/3160ae0e-c02f-4619-8de3-60d73faa1100).

### #63 metadata-standards-copy-vs-cite-doctrine

Decision: **keep the "copy" adoption path, require back-link +
drift-check.**

Adds `distribution/governance-process.md`. `conventions/README.md`
already documents two adoption paths for reasoning-only prose — copy
into the consumer's tree, or point at this repo. The copy path stays
available (prose has no runtime coupling to enforce reconciliation the
way `sync-manifest.yml` does), but a copy now carries two mandatory
requirements:

- **Back-link** — every copied file cites its exact canonical source
(repo + path, inline header where the format allows it), using the same
stable-anchor citation discipline `reference-dont-duplicate.md` already
prescribes for the "Expose" file role.
- **Drift-check** — the adopting repo owns a periodic diff of its copy
against the current canonical source, with a named owner and trigger,
mirroring the recheck-trigger discipline
`documentation-and-citations.md` already requires for time-bound
external claims.

The doc is explicit that this is distinct from a `managed`
`sync-manifest.yml` component, which already reconciles automatically
and deliberately carries no downstream receipt — the
back-link/drift-check burden applies only where nothing else keeps a
copy current.

### #65 naming-cross-doc-reconciliation-process-ownership

Decision: **establish a standing cross-reference review step for
normative-doc changes.**

Same doc adds the standing process step: before a change to a normative
doc (`naming.md`, `process/issue-tracker.md`, `review/code-quality.md`,
and any other file in the catalog stating a rule another doc cites or
assumes) merges, a cross-reference check confirms no other doc now
contradicts it.

Ownership is named explicitly rather than left implicit:
`required_approving_review_count` stays at `0` org-wide (decision #11,
single-maintainer), so there is no independent blocking reviewer to gate
this. The step is documented as a **self-review checklist item the
author performs before merge**, with a documented future automation path
— extending the periodic cross-plugin-source consistency check (decision
#37, for `claude-code-plugins`) to this repo's own normative docs once
that check exists, so the control stops depending solely on author
diligence.

`conventions/README.md` gets a new "Changing a normative file" pointer
to this requirement; `distribution/README.md` gets a pointer alongside
its existing `THREAT-MODEL.md` reference.

### #27 tooling-gov-conventions-graduate-to-enforced

Decision: **graduate mechanically-checkable rules into
sync-manifest-tracked components.**

Reviewed every file under `conventions/` against
`enforceability-tiers.md`'s
deterministic/detect-then-judge/reasoning-only split. Finding: **no
ungraduated deterministic rule exists to graduate.** Every deterministic
(mechanically-checkable) rule already points to its owning component
instead of restating it:

| Convention area | Deterministic rule | Owning component | Tracked in
`sync-manifest.yml`? |
|---|---|---|---|
| Secrets (`review/security.md`) | no secrets in source | `gitleaks` |
yes |
| Comments (`review/code-quality.md`) | debt markers / tracker
provenance | `comment-hygiene` | yes (`comment-hygiene-action`) |
| Citations (`documentation-and-citations.md`) | cited URL resolves |
link check | yes (`lychee`) |
| TypeScript/JS (`review/overlays/typescript.md`) | lint/format/import
order, type correctness | `biome`, `tsconfig` | **no** — deliberately
native-package (`extends`) adoption per `distribution/README.md`'s
ownership model, not exact materialization |
| Python (`review/overlays/python.md`) | lint/format, type correctness |
`ruff`, `pyright` | yes |
| .NET (`review/overlays/dotnet.md`) | analyzers, code style, banned
symbols | `dotnet-analysis` | yes |
| Container build (`container-supply-chain.md`) | Docker Build checks,
OSV scans | *(none yet)* | **no** — the convention itself explicitly
defers this pending live-consumer admission evidence per
`docs/component-lifecycle.md`; graduating it without that evidence would
violate the same lifecycle contract |
| PR titles (`review/code-quality.md`) | Conventional Commits format |
*(ci-workflows `pr-title.yml`)* | out of this repo's materialization
surface — owned by `ci-workflows`, per README.md's ownership boundaries
|
| Naming (`naming.md`), label/issue-tracker usage
(`process/issue-tracker.md`), duplication
(`reference-dont-duplicate.md`) | — | — | self-declared reasoning-only;
no deterministic subset exists to graduate |

No `sync-manifest.yml` change is included. The one adjacent orphan
noticed in passing — `components/lefthook-typescript` exists, is fully
built, but is not registered in `sync-manifest.yml` for any target — is
tooling infrastructure, not a `conventions/` rule, and assigning it to a
target's `managed:` list is a separate adoption decision requiring its
own admission evidence; flagging it here for a follow-up rather than
folding it into this PR.

## Test plan

- [x] `npx markdownlint-cli2` — 0 errors across the full repo (71 files,
including the new/changed docs)
- [x] `lychee` — 21/21 links OK on the changed files (0 errors)
- [x] `typos` — clean on the changed files
- [x] `lefthook` pre-commit (typos, editorconfig, gitleaks,
markdownlint) — all passed at commit time
- [ ] Maintainer confirms the #27 classification table before merge — no
code/config changed, so this PR is prose-only and carries no behavioral
risk

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-authored-by: Claude Sonnet 5 <noreply@anthropic.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.

1 participant