chore: point MSD at git.golem15.com/golem15/msd-core
Some checks failed
Tests / PR mergeability (push) Successful in 1m37s
Tests / Base branch health (push) Successful in 11s
Tests / Detect test scope (push) Successful in 17s
Tests / lint-tests (push) Failing after 2m16s
Tests / plugin-validate (push) Successful in 1m6s
Tests / test (ubuntu-latest, 24, shard 1/3) (push) Failing after 25s
Tests / test (ubuntu-latest, 24, shard 2/3) (push) Failing after 20s
Tests / test (ubuntu-latest, 24, shard 3/3) (push) Failing after 20s
Tests / test (ubuntu-latest, 24) (push) Failing after 19s
Tests / test (inert CI) (push) Has been skipped
Tests / QA loop walk (smell ratchet) (push) Failing after 19s
Tests / Coverage gate (merged shards) (push) Has been skipped
Tests / Publish emitted-baseline artifact (push) Has been skipped
Dismiss Unauthorized PR Approvals / dismiss-unauthorized-approval (push) Successful in 9s
Close Draft PRs (sweep) / Sweep open draft PRs (push) Successful in 8s
Tests / conformance test (macos-latest, 24) (push) Has been cancelled
Tests / conformance test (windows-latest, 24, shard 1/3) (push) Has been cancelled
Tests / conformance test (windows-latest, 24, shard 2/3) (push) Has been cancelled
Tests / conformance test (windows-latest, 24, shard 3/3) (push) Has been cancelled
Tests / Required tests (push) Has been cancelled

The fork lives on the golem15 Gitea forge, not GitHub. Package identity now
parses either host and derives in-place raw URLs for Gitea; the identity-drift
lint accepts the new host; README drops GitHub-only badges and the npm
quickstart in favour of the checkout installer.
This commit is contained in:
Jakub Zych
2026-10-06 10:41:56 +02:00
parent a9a7a328e6
commit 12ee75a509
56 changed files with 182 additions and 172 deletions

View File

@@ -7398,7 +7398,7 @@ describe('enh-1055 descriptor-drive: finishPermissionWriter passthrough', () =>
* so autonomous/CI runs can silence the plan-time advisory without disabling the execute-time gates.
* The gate declaration conforms to ADR-857 (`plan:pre` is an enumerated, additive-only loop point).
*
* Issue: #1592 (golem15com/msd-core).
* Issue: #1592 (golem15/msd-core).
*/
const { describe, test, after } = require('node:test');

View File

@@ -310,7 +310,7 @@ function runCli(env, { outputPath } = {}) {
timeoutMs: PROBE_TIMEOUT_MS,
env: {
...process.env,
GITHUB_REPOSITORY: 'golem15com/msd-core',
GITHUB_REPOSITORY: 'golem15/msd-core',
GITHUB_TOKEN: SENTINEL_TOKEN,
GITHUB_BASE_REF: 'next',
...(outputPath ? { GITHUB_OUTPUT: outputPath } : {}),
@@ -327,7 +327,7 @@ function runCli(env, { outputPath } = {}) {
// live so the stub can actually answer. Mirrors tests/ci-pr-mergeability.test.cjs.
async function callMain(t, env, { outputPath } = {}) {
const overrides = {
GITHUB_REPOSITORY: 'golem15com/msd-core',
GITHUB_REPOSITORY: 'golem15/msd-core',
GITHUB_TOKEN: SENTINEL_TOKEN,
GITHUB_BASE_REF: 'next',
...(outputPath ? { GITHUB_OUTPUT: outputPath } : {}),

View File

@@ -400,7 +400,7 @@ function runCli(env, { outputPath } = {}) {
timeoutMs: PROBE_TIMEOUT_MS,
env: {
...process.env,
GITHUB_REPOSITORY: 'golem15com/msd-core',
GITHUB_REPOSITORY: 'golem15/msd-core',
GITHUB_TOKEN: SENTINEL_TOKEN,
GITHUB_BASE_REF: 'next',
PR_NUMBER: String(PR.number),
@@ -428,7 +428,7 @@ function runCli(env, { outputPath } = {}) {
*/
async function callMain(t, env, { outputPath } = {}) {
const overrides = {
GITHUB_REPOSITORY: 'golem15com/msd-core',
GITHUB_REPOSITORY: 'golem15/msd-core',
GITHUB_TOKEN: SENTINEL_TOKEN,
GITHUB_BASE_REF: 'next',
PR_NUMBER: String(PR.number),

View File

@@ -160,9 +160,9 @@ const INTERNAL_COMPONENT_SLUGS = new Set([
// an external tool repo, not a user-typable slash command in this product.
'test-runner',
// msd-core — GitHub repository name: "golem15com/msd-core".
// msd-core — GitHub repository name: "golem15/msd-core".
// docs/adr/22-plan-drift-guard.md references it as an issue tracker link:
// golem15com/msd-core#22
// golem15/msd-core#22
// The regex captures "/msd-core" from the org/repo path separator. This is
// the canonical repo name, not a user-typable slash command in this product.
'core',
@@ -216,7 +216,7 @@ function extractCommandTokens(content) {
// Negative lookbehind: only match tokens NOT preceded by a letter, digit,
// `/`, `_`, or `-`. This prevents matching the `/msd-core` substring inside
// the org/repo path `golem15com/msd-core` (and similar path-embedded segments)
// the org/repo path `golem15/msd-core` (and similar path-embedded segments)
// while still matching real invocations preceded by BOL, space, backtick, or
// `(`. Fixes false-positive class identified in #489.
const allSlash = (stripped.match(/(?<![A-Za-z0-9/_-])\/msd-[a-z0-9][a-z0-9-]*/g) || []);
@@ -508,16 +508,16 @@ describe('adversarial: polarity inversion catches drift deny-list misses', () =>
// ─── Tokenizer regression tests (#489) ───────────────────────────────────────
describe('extractCommandTokens() — repo-path false-positive regression (#489)', () => {
test('golem15com/msd-core#22 repo path does NOT produce a /msd-core token', () => {
// Before the lookbehind fix, /msd-core inside `golem15com/msd-core#22`
test('golem15/msd-core#22 repo path does NOT produce a /msd-core token', () => {
// Before the lookbehind fix, /msd-core inside `golem15/msd-core#22`
// would be matched by the slash regex — a false positive.
const { slash, colon, dollar } = extractCommandTokens(
'see golem15com/msd-core#22 for details'
'see golem15/msd-core#22 for details'
);
const all = [...slash, ...colon, ...dollar];
assert.ok(
!all.includes('/msd-core'),
'repo path golem15com/msd-core#22 must not produce a /msd-core token; got: ' + all.join(', ')
'repo path golem15/msd-core#22 must not produce a /msd-core token; got: ' + all.join(', ')
);
assert.strictEqual(all.length, 0, 'expected zero tokens from a bare repo-path string; got: ' + all.join(', '));
});

View File

@@ -144,25 +144,25 @@ describe('forensics workflow', () => {
);
});
test('workflow submits issues to golem15com/msd-core, not the current repo', () => {
test('workflow submits issues to golem15/msd-core, not the current repo', () => {
const content = fs.readFileSync(workflowPath, 'utf-8');
// Scope check to the gh issue create invocation — a whole-file search would
// pass even if gh issue create lacked --repo, because gh label list also
// contains the repo string.
assert.match(
content,
/gh issue create[\s\S]{0,250}--repo\s+golem15com\/msd-core/,
'gh issue create must use --repo golem15com/msd-core to avoid submitting to the user\'s current project repo'
/gh issue create[\s\S]{0,250}--repo\s+golem15\/msd-core/,
'gh issue create must use --repo golem15/msd-core to avoid submitting to the user\'s current project repo'
);
});
test('workflow checks bug label in golem15com/msd-core, not the current repo', () => {
test('workflow checks bug label in golem15/msd-core, not the current repo', () => {
const content = fs.readFileSync(workflowPath, 'utf-8');
// Regex is more robust than a fixed-length slice to formatting changes
assert.match(
content,
/gh label list[\s\S]{0,250}--repo\s+golem15com\/msd-core/,
'gh label list must target golem15com/msd-core'
/gh label list[\s\S]{0,250}--repo\s+golem15\/msd-core/,
'gh label list must target golem15/msd-core'
);
});

View File

@@ -473,7 +473,7 @@ describe('stateReplaceFieldWithFallback field-miss warning', () => {
'use strict';
/**
* Regression tests for issue #6 (golem15com/msd-core):
* Regression tests for issue #6 (golem15/msd-core):
* Three validation behaviors present in validate.ts are missing from verify.cjs,
* producing silent false negatives on the CJS production path.
*
@@ -494,7 +494,7 @@ describe('stateReplaceFieldWithFallback field-miss warning', () => {
*
* References:
* - ADR-3524 (docs/adr/3524-cjs-sdk-hard-seam.md)
* - Issue #6 (golem15com/msd-core)
* - Issue #6 (golem15/msd-core)
* - PR #154 (issue #4) — precedent for the generator pattern
*/
@@ -787,7 +787,7 @@ describe('Drift item 3 — W006 false positive when disk has zero-padded letter
'use strict';
/**
* Regression tests for issue #416 (golem15com/msd-core).
* Regression tests for issue #416 (golem15/msd-core).
*
* Bug: getActiveMilestoneArchiveDir falls back to the newest archive directory
* when STATE.md names a milestone that has no matching archive yet, producing
@@ -1015,7 +1015,7 @@ describe('bug #416 case 3: STATE.md v5.0 with matching v5.0-phases/ → returns
'use strict';
/**
* Regression tests for issue #26 (golem15com/msd-core).
* Regression tests for issue #26 (golem15/msd-core).
* Three generator-pattern drift items: W005 phaseDirNameRe,
* W006-archived regex constants (PHASE_TOKEN_FROM_DIR_RE, MILESTONE_ARCHIVE_DIR_RE),
* I001 canonicalPlanStem.
@@ -1025,7 +1025,7 @@ describe('bug #416 case 3: STATE.md v5.0 with matching v5.0-phases/ → returns
* tests go RED.
*
* References:
* - Issue #26 (golem15com/msd-core) — three drift items + reproducer
* - Issue #26 (golem15/msd-core) — three drift items + reproducer
* - ADR-3524 (docs/adr/3524-cjs-sdk-hard-seam.md)
* - PR #154 (issue #4) — generator pattern precedent
* - PR #156 (issue #6) — validate.ts generator scaffolding (#26 extends this)

View File

@@ -1,7 +1,7 @@
// allow-test-rule: source-text-is-the-product (see #1073) — this guard asserts the
// ABSENCE of phantom pre-migration issue references in repo text (docs, tests,
// workflows). The file *content* is the product surface here (#1073): dangling
// refs that don't exist in golem15com/msd-core mislead triage and manufacture
// refs that don't exist in golem15/msd-core mislead triage and manufacture
// phantom blockers. This test fails CI if such a ref is reintroduced.
//
// MAINTENANCE — this list ROTS and must be pruned (#2653).
@@ -27,7 +27,7 @@ const os = require('node:os');
const ROOT = path.resolve(__dirname, '..');
// Phantom pre-migration (get-shit-done-redux) issue numbers with NO equivalent
// in golem15com/msd-core. Matched only with a leading '#' or in an issues/ URL so
// in golem15/msd-core. Matched only with a leading '#' or in an issues/ URL so
// digit-bearing strings like an `id_ed25519` SSH key fingerprint are NOT
// false-positives.
//

View File

@@ -173,6 +173,13 @@ describe('Issue #498: deriveIdentity (pure, package.json -> coordinates)', () =>
assert.equal(deriveIdentity(FAKE_PKG).repoUrl, 'https://github.com/acme/example-pkg');
});
test('a git.golem15.com repository yields in-place raw URLs on the next branch', () => {
const id = deriveIdentity({ ...FAKE_PKG, repository: 'git+https://git.golem15.com/golem15/msd-core.git' });
assert.equal(id.repoSlug, 'golem15/msd-core');
assert.equal(id.repoUrl, 'https://git.golem15.com/golem15/msd-core');
assert.equal(id.changelogRawUrl, 'https://git.golem15.com/golem15/msd-core/raw/branch/next/CHANGELOG.md');
});
test('changelogRawUrl points at raw.githubusercontent main CHANGELOG', () => {
assert.equal(
deriveIdentity(FAKE_PKG).changelogRawUrl,
@@ -185,7 +192,7 @@ describe('Issue #498: deriveIdentity (pure, package.json -> coordinates)', () =>
const id = deriveIdentity(real);
assert.equal(id.packageName, '@golem15/msd-core');
assert.equal(id.binName, 'msd-core');
assert.equal(id.repoSlug, 'golem15com/msd-core');
assert.equal(id.repoSlug, 'golem15/msd-core');
});
test('deriveIdentity returns cacheSlug for @golem15/msd-core', () => {
@@ -245,7 +252,7 @@ describe('Issue #498: generated runtime module (baked)', () => {
const id = require(GENERATED);
assert.equal(id.packageName, '@golem15/msd-core');
assert.equal(id.binName, 'msd-core');
assert.equal(id.repoSlug, 'golem15com/msd-core');
assert.equal(id.repoSlug, 'golem15/msd-core');
});
test('generated module exports cacheSlug matching @golem15/msd-core', () => {

View File

@@ -10372,7 +10372,7 @@ describe('bug #2268: parallel discuss — all undiscussed phases marked is_next_
'use strict';
/**
* Regression test for issue #4 (golem15com/msd-core):
* Regression test for issue #4 (golem15/msd-core):
* bin/lib/phase.cjs cmdPhaseComplete — non-idempotent and unclamped.
*
* Root cause (pre-fix):
@@ -10392,7 +10392,7 @@ describe('bug #2268: parallel discuss — all undiscussed phases marked is_next_
* References:
* - ADR-3524 (docs/adr/3524-cjs-sdk-hard-seam.md) — architectural foundation
* - /tmp/adr-3524-review-findings.md — architectural justification
* - Issue #4 (golem15com/msd-core)
* - Issue #4 (golem15/msd-core)
*/
const { describe, test, beforeEach, afterEach } = require('node:test');

View File

@@ -299,7 +299,7 @@ describe('pr-template-policy', () => {
// The tooling-paths carve-out RELAXES template enforcement, so trusting a
// possibly-truncated list would let a >100-file PR skip enforcement on the
// strength of its first 100 (all-tooling) paths. Verified live: PR
// golem15com/msd-core#3202 returns 100 paths for 118 changed files.
// golem15/msd-core#3202 returns 100 paths for 118 changed files.
describe('pr-template-policy carve-out — truncated file lists (#3211)', () => {
const toolingPaths = (n) => Array.from({ length: n }, (_, i) => `docs/generated-${i}.md`);

View File

@@ -7,7 +7,7 @@ process.env.MSD_TEST_MODE = '1';
* .github/workflows/*.yml file has an effective `shell:` directive that is
* H1-policy-compliant (native shell per OS).
*
* H1 policy (LOCKED — golem15com/msd-core):
* H1 policy (LOCKED — golem15/msd-core):
* ubuntu-* → bash (runner default, no pin needed)
* macos-* → zsh (must be pinned explicitly)
* windows-* → pwsh (runner default, no pin needed)