fix(codeberg-world): tsc TS2430 + TS6133 — unblocks #5805/#5806/#5807 CI (Omit<GiteaWorld, 'forgeSpecialization'> for literal narrowing)#5808
Conversation
… + TS6133 (unused LifetimeState import) — unblocks #5805/#5806/#5807 CI PR #5804 merged with 2 tsc errors that surfaced on downstream PRs: 1. LifetimeState imported but never used (TS6133) 2. CodebergWorld extends GiteaWorld fails because forgeSpecialization literal narrows from 'gitea' → 'codeberg' (TS2430; literal types are invariant; can't widen via interface-extends) Fix: - Remove unused LifetimeState import - Use Omit<GiteaWorld, 'forgeSpecialization'> to drop the inherited literal before re-declaring narrower 'codeberg' literal Verification: - bunx tsc --noEmit -p tsconfig.json — clean on workflow-engine files - bun test tools/workflow-engine/codeberg-world.test.ts — 6 pass / 0 fail Composes with substrate: - PR #5804 (4-adapter batch; merged with this latent tsc issue) - PR #5805 (AutoLoopLifetime) + PR #5806 (DUs-as-muscle-memory) + PR #5807 (trajectory carving) all unblock from tsc gate after merge Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
|
You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard. |
There was a problem hiding this comment.
Pull request overview
This PR unblocks downstream workflow-engine CI by fixing two TypeScript compile errors introduced in #5804: removing an unused import (TS6133) and correcting CodebergWorld’s type relationship to GiteaWorld to avoid an interface-extends incompatibility caused by narrowing a literal type (TS2430).
Changes:
- Remove unused
LifetimeStateimport fromcodeberg-world.ts(TS6133). - Redefine
CodebergWorldto extendOmit<GiteaWorld, "forgeSpecialization">and then redeclareforgeSpecialization: "codeberg"(fixes TS2430).
|
Hello! I noticed that there are a number of failing lint checks on this PR. You can see the details of the failing checks here: https://github.com/Lucent-Financial-Group/Zeta/pull/5808/checks. To prevent this in the future, you may want to run the linter locally before pushing your changes. Thank you for your contribution! |
…ot thread) Doc bullets listed "codeOfConduct, terms-of-service" + separate "EU-data-sovereignty marker" + "rate-limit defaults" but the interface only declares `hostingPolicy: "non-commercial-eu-sovereign"` + `communityGoverned: true`. The actual fields capture the same SEMANTIC INTENT under different names; doc was using descriptive prose where the code uses concise field names. Rewrote doc bullets to: - Map directly to actual fields with explicit `field: type` references - Preserve the substrate-engineering intent (EU-sovereignty, community governance, non-profit hosting) as inline explanation - Move the "rate-limit defaults" note to a separate sentence pointing at the inherited GiteaResourceBudget (rate-limit is the BUDGET-shape built in buildCodebergWorld, not a new interface field) Non-breaking: only docblock changed; interface + implementation unchanged. Autonomous-loop tick 2026-05-28T14:03Z resolution of PR #5808. Co-Authored-By: Claude <noreply@anthropic.com>
…ency exactOptionalPropertyTypes (#5840) PR #5812 left tsc errors on main blocking ALL PRs from auto-merging. Root cause: `lastNamedDependency?: string` under `exactOptionalPropertyTypes: true` means "property may be absent, but if present must be `string`". Line 533 assigns `lastNamedDependency: shippedAction ? undefined : prior.lastNamedDependency` which violates the constraint (TS2375). Fix: change type to `string | undefined` (REQUIRED with explicit undefined). COLD_BOOT_CONTEXT updated to include the now-required field explicitly as `undefined`. Tested locally: - bun --bun tsc --noEmit -p tsconfig.json → clean - bun test tools/workflow-engine/auto-loop-lifetime.test.ts → 27/27 pass Same fix-fwd shape as PR #5808 (codeberg-world tsc TS2430 + TS6133). Composes with B-0867 workflow-engine substrate. Co-authored-by: Lior <lior@zeta.dev> Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
PR #5804 merged with 2 tsc errors blocking downstream CI:
LifetimeStateunused import (TS6133)forgeSpecializationliteral narrows from 'gitea' to 'codeberg' (TS2430; literal types invariant)Fix: remove unused import + use
Omit<GiteaWorld, 'forgeSpecialization'>to drop inherited literal before re-declaring narrower 'codeberg'.6 tests pass; tsc clean on workflow-engine files.
Unblocks #5805 (AutoLoopLifetime) + #5806 (muscle-memory carving) + #5807 (trajectory carving) tsc gates.
🤖 Generated with Claude Code