test: keep stable backport assertions scoped

This commit is contained in:
Affaan Mustafa
2026-05-31 02:40:02 -04:00
parent 7cb0cf0433
commit 72a3ceeb7a
4 changed files with 2 additions and 27 deletions

View File

@@ -5,14 +5,13 @@
### Highlights
- Patch release for the stable `1.10.x` line while ECC 2.0 remains on the prerelease channel.
- Backported low-risk reliability fixes for harness auditing, continuous-learning observer defaults, legacy homunculus path detection, and `/instinct-status` plugin-root resolution.
- Backported low-risk reliability fixes for harness auditing, continuous-learning observer defaults, and `/instinct-status` plugin-root resolution.
- Refreshed contribution and translated marketplace links to point at the current `affaan-m/ECC` repository surface.
### Fixes
- Made `scripts/harness-audit.js` handle missing or malformed `package.json` data more defensively.
- Raised the continuous-learning observer default turn budget to better match the 500-line analysis default.
- Warned when populated legacy `~/.claude/homunculus` data exists but the current CLI is reading from the XDG-based ECC data path.
- Updated `/instinct-status` to resolve the active plugin root instead of falling back to stale legacy install paths.
### Notes

View File

@@ -85,7 +85,7 @@ This repo is the raw code only. The guides explain everything.
### v1.10.1 — Stable Reliability Patch (May 2026)
- **Stable-channel momentum while ECC 2.0 remains prerelease** — `1.10.1` keeps the public npm/release lane moving without overstating control-plane GA readiness.
- **Continuous-learning reliability** — observer analysis now has a larger default turn budget for the 500-line analysis window, plus clearer warnings when legacy homunculus data exists outside the active ECC data path.
- **Continuous-learning reliability** — observer analysis now has a larger default turn budget for the 500-line analysis window.
- **Command and audit hardening** — `/instinct-status` resolves the active plugin root more reliably, and harness auditing handles missing package metadata more defensively.
- **Repository-surface cleanup** — contribution and translated marketplace links now point at the current `affaan-m/ECC` public repo surface.

View File

@@ -10,7 +10,6 @@ This release keeps the public `latest` line moving while the larger ECC 2.0 cont
- Hardened harness auditing around missing or malformed package metadata.
- Increased the continuous-learning observer default turn budget so the default 500-line analysis window has enough room to complete.
- Added an explicit warning when legacy `~/.claude/homunculus` data exists but the current CLI is reading from the XDG-based ECC data path.
- Fixed `/instinct-status` plugin-root resolution so the command does not fall back to stale legacy install paths.
- Updated contribution and translated marketplace links to the current `affaan-m/ECC` public repo surface.

View File

@@ -3,7 +3,6 @@
const fs = require('fs');
const path = require('path');
const assert = require('assert');
const { INLINE_RESOLVE } = require('../../scripts/lib/resolve-ecc-root');
let passed = 0;
let failed = 0;
@@ -20,24 +19,8 @@ function test(name, fn) {
}
}
const sessionsDoc = fs.readFileSync(path.join(__dirname, '..', '..', 'commands', 'sessions.md'), 'utf8');
const skillHealthDoc = fs.readFileSync(path.join(__dirname, '..', '..', 'commands', 'skill-health.md'), 'utf8');
const instinctStatusDoc = fs.readFileSync(path.join(__dirname, '..', '..', 'commands', 'instinct-status.md'), 'utf8');
test('sessions command uses shared inline resolver in all node scripts', () => {
assert.strictEqual((sessionsDoc.match(/const _r = /g) || []).length, 6);
assert.strictEqual((sessionsDoc.match(/\['marketplaces','ecc'\]/g) || []).length, 6);
assert.strictEqual((sessionsDoc.match(/\['marketplaces','everything-claude-code'\]/g) || []).length, 6);
assert.strictEqual((sessionsDoc.match(/\['ecc','everything-claude-code'\]/g) || []).length, 6);
});
test('skill-health command uses shared inline resolver in all shell snippets', () => {
assert.strictEqual((skillHealthDoc.match(/var r=/g) || []).length, 3);
assert.strictEqual((skillHealthDoc.match(/\['marketplaces','ecc'\]/g) || []).length, 3);
assert.strictEqual((skillHealthDoc.match(/\['marketplaces','everything-claude-code'\]/g) || []).length, 3);
assert.strictEqual((skillHealthDoc.match(/\['ecc','everything-claude-code'\]/g) || []).length, 3);
});
test('instinct-status command uses shared inline resolver (no stale legacy fallback) (#2037)', () => {
assert.strictEqual((instinctStatusDoc.match(/var r=/g) || []).length, 1);
assert.strictEqual((instinctStatusDoc.match(/\['marketplaces','ecc'\]/g) || []).length, 1);
@@ -51,12 +34,6 @@ test('instinct-status command uses shared inline resolver (no stale legacy fallb
);
});
test('inline resolver covers current and legacy marketplace plugin roots', () => {
assert.ok(INLINE_RESOLVE.includes("'marketplaces','ecc'"));
assert.ok(INLINE_RESOLVE.includes("'marketplaces','everything-claude-code'"));
assert.ok(!INLINE_RESOLVE.includes('\\"'), 'Inline resolver should not require escaped double quotes');
});
console.log(`Passed: ${passed}`);
console.log(`Failed: ${failed}`);