instar 1.3.763 → 1.3.765
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/core/ClaudeCliIntelligenceProvider.d.ts +15 -0
- package/dist/core/ClaudeCliIntelligenceProvider.d.ts.map +1 -1
- package/dist/core/ClaudeCliIntelligenceProvider.js +111 -23
- package/dist/core/ClaudeCliIntelligenceProvider.js.map +1 -1
- package/dist/core/PostUpdateMigrator.d.ts +1 -0
- package/dist/core/PostUpdateMigrator.d.ts.map +1 -1
- package/dist/core/PostUpdateMigrator.js +56 -2
- package/dist/core/PostUpdateMigrator.js.map +1 -1
- package/dist/core/crossModelReviewer.d.ts +188 -9
- package/dist/core/crossModelReviewer.d.ts.map +1 -1
- package/dist/core/crossModelReviewer.js +360 -18
- package/dist/core/crossModelReviewer.js.map +1 -1
- package/dist/core/types.d.ts +14 -0
- package/dist/core/types.d.ts.map +1 -1
- package/dist/core/types.js.map +1 -1
- package/dist/scaffold/templates.js +1 -1
- package/dist/server/routes.d.ts.map +1 -1
- package/dist/server/routes.js +15 -5
- package/dist/server/routes.js.map +1 -1
- package/package.json +1 -1
- package/scripts/model-registry-freshness.manifest.json +8 -0
- package/skills/spec-converge/SKILL.md +4 -2
- package/skills/spec-converge/scripts/cross-model-review.mjs +36 -6
- package/src/data/builtin-manifest.json +63 -63
- package/src/scaffold/templates.ts +1 -1
- package/upgrades/1.3.764.md +45 -0
- package/upgrades/1.3.765.md +63 -0
- package/upgrades/side-effects/actionclaim-config-shape-fix.eli16.md +50 -0
- package/upgrades/side-effects/actionclaim-config-shape-fix.md +149 -0
- package/upgrades/side-effects/reviewer-door-rewiring-inc1.md +198 -0
package/dist/server/routes.js
CHANGED
|
@@ -20652,7 +20652,17 @@ document.getElementById('mcpForm').addEventListener('submit', async function (e)
|
|
|
20652
20652
|
res.json({ leases: ctx.prHandLease.list().map((l) => ({ ...l, holderSessionId: undefined })) });
|
|
20653
20653
|
});
|
|
20654
20654
|
router.post('/action-claim/observe', (req, res) => {
|
|
20655
|
-
|
|
20655
|
+
// ── Config location (actionclaim-config-shape-fix): on a real install
|
|
20656
|
+
// `messaging` is an ARRAY of adapter configs, so `messaging.actionClaim.*` is
|
|
20657
|
+
// UNREACHABLE (getNestedValue walks the array → `array['actionClaim']` is
|
|
20658
|
+
// undefined → the default) — which made this default-OFF sentinel structurally
|
|
20659
|
+
// un-enablable in production (CI never caught it: every test used an
|
|
20660
|
+
// object-shaped `messaging`). The reachable, canonical home is a TOP-LEVEL
|
|
20661
|
+
// `actionClaim` block; the legacy object-shaped `messaging.actionClaim` is
|
|
20662
|
+
// honored as a back-compat fallback. Both are read LIVE (no restart).
|
|
20663
|
+
const acGet = (leaf, dflt) => (ctx.liveConfig?.get(`actionClaim.${leaf}`, undefined) ??
|
|
20664
|
+
ctx.liveConfig?.get(`messaging.actionClaim.${leaf}`, dflt));
|
|
20665
|
+
const enabled = acGet('enabled', false) ?? false;
|
|
20656
20666
|
if (!enabled) {
|
|
20657
20667
|
res.json({ observed: false, registered: false, reason: 'feature-disabled' });
|
|
20658
20668
|
return;
|
|
@@ -20678,12 +20688,12 @@ document.getElementById('mcpForm').addEventListener('submit', async function (e)
|
|
|
20678
20688
|
const isMinted = numericTopicId !== undefined && numericTopicId < 0;
|
|
20679
20689
|
let slackDryRun = false;
|
|
20680
20690
|
if (isMinted) {
|
|
20681
|
-
const slackLaneLive = resolveDevAgentGate(
|
|
20691
|
+
const slackLaneLive = resolveDevAgentGate(acGet('slack.enabled', undefined), ctx.config);
|
|
20682
20692
|
if (!slackLaneLive) {
|
|
20683
20693
|
res.json({ observed: true, registered: false, reason: 'slack-lane-dark' });
|
|
20684
20694
|
return;
|
|
20685
20695
|
}
|
|
20686
|
-
slackDryRun =
|
|
20696
|
+
slackDryRun = acGet('slack.dryRun', true) ?? true;
|
|
20687
20697
|
}
|
|
20688
20698
|
// ── §4.2a Lane-A precedence: classify Lane A first; ONLY on a Lane-A miss run
|
|
20689
20699
|
// Lane B — so a dual-signal turn ("I'll deploy in 10 min") registers ONCE
|
|
@@ -20733,7 +20743,7 @@ document.getElementById('mcpForm').addEventListener('submit', async function (e)
|
|
|
20733
20743
|
}
|
|
20734
20744
|
// ── §5 per-topic cap — ONE shared budget across BOTH lanes (R1-C3): count
|
|
20735
20745
|
// open commitments whose externalKey starts with actionclaim: OR timepromise:.
|
|
20736
|
-
const cap =
|
|
20746
|
+
const cap = acGet('perTopicCap', 5) ?? 5;
|
|
20737
20747
|
const openForTopic = ctx.commitmentTracker
|
|
20738
20748
|
.getActive()
|
|
20739
20749
|
.filter((c) => c.topicId === topicId &&
|
|
@@ -20744,7 +20754,7 @@ document.getElementById('mcpForm').addEventListener('submit', async function (e)
|
|
|
20744
20754
|
res.json({ observed: true, registered: false, reason: 'per-topic-cap', lane, ...(verb ? { verb } : {}), cap });
|
|
20745
20755
|
return;
|
|
20746
20756
|
}
|
|
20747
|
-
const expiresHrs =
|
|
20757
|
+
const expiresHrs = acGet('expiresHours', 6) ?? 6;
|
|
20748
20758
|
const expiresAt = new Date(Date.now() + expiresHrs * 3600_000).toISOString();
|
|
20749
20759
|
// ── §8.1 dryRun (minted lane): would-register audit line + typed non-register,
|
|
20750
20760
|
// NO record(). Best-effort append ("audit is observability") so a log-write
|