carthagent 1.0.7 → 1.1.0-beta.2
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/README.md +140 -83
- package/bin/ctg.mjs +14 -732
- package/docs/beta-rewards-e2e-plan.md +48 -0
- package/docs/beta-rewards-e2e-results.md +84 -0
- package/docs/cloud-onboarding-acceptance.md +65 -0
- package/docs/glyph-review/host-chrome-glyph-compatibility-v4.md +83 -0
- package/docs/glyph-review/test-isolation-v1.md +26 -0
- package/docs/glyph-review/typecheck-base.log +1 -0
- package/docs/glyph-review/typecheck-v4.log +1 -0
- package/docs/glyph-review/unicode-inventory-v4.csv +402 -0
- package/docs/help-dispatch-review.md +69 -0
- package/docs/launch-readiness-live-results.md +65 -0
- package/docs/legacy-cli.md +150 -0
- package/docs/live-theme-plugin-api.md +18 -0
- package/docs/native-cli.md +102 -0
- package/docs/native-compatibility.md +16 -0
- package/docs/native-daily-quests.md +132 -0
- package/docs/native-glyph-pty.md +59 -0
- package/docs/native-manual-testing.md +336 -0
- package/docs/native-slash-acceptance-handoff.md +49 -0
- package/docs/native-terminal-paired-failure-2026-10-17.md +40 -0
- package/docs/native-terminal-performance.md +310 -0
- package/docs/native-terminal-semantics-evidence/README.md +25 -0
- package/docs/native-terminal-semantics-evidence/controlled-host-model-selftest.json +16 -0
- package/docs/native-terminal-semantics-evidence/current-acceptance-status.json +59 -0
- package/docs/native-terminal-semantics-evidence/final-binary-focused-85bb44a.json +154 -0
- package/docs/native-terminal-semantics-evidence/final-binary-full-incomplete-85bb44a.json +160 -0
- package/docs/native-terminal-semantics-evidence/final-binary-layout-85bb44a.json +149 -0
- package/docs/native-terminal-semantics-evidence/final-binary-layout-interactive-85bb44a.json +159 -0
- package/docs/native-terminal-semantics-evidence/final-binary-model-picker-escape-unchanged-85bb44a.json +44 -0
- package/docs/native-terminal-semantics-evidence/final-binary-model-picker-exact-identity-85bb44a.json +47 -0
- package/docs/native-terminal-semantics-evidence/final-binary-model-picker-unchanged-model-incomplete-85bb44a.json +58 -0
- package/docs/native-terminal-semantics-evidence/final-binary-model-selftest.json +16 -0
- package/docs/native-terminal-semantics-evidence/final-binary-picker-cancel-incomplete-85bb44a.json +62 -0
- package/docs/native-terminal-semantics-evidence/focused-clipboard-title-stale-binary.json +161 -0
- package/docs/native-terminal-semantics-evidence/layout-stale-binary-observation-not-accepted.json +153 -0
- package/docs/native-terminal-semantics-evidence/picker-latest-incomplete-attempt.json +62 -0
- package/docs/native-terminal-semantics-evidence/picker-previous-probe-pass.json +61 -0
- package/docs/native-terminal-semantics.md +89 -0
- package/docs/native-upgrade.md +175 -0
- package/docs/opencode-composed-source-review.md +89 -0
- package/docs/opencode-migration.md +225 -9
- package/docs/opencode-owned-runtime.md +241 -0
- package/docs/opencode-runtime.md +12 -0
- package/docs/opencode-theme-provider-proof/README.md +55 -0
- package/docs/opencode-theme-provider-proof/live-theme-api-base.patch +122 -0
- package/docs/opencode-theme-provider-proof/plugin-theme-provider.patch +107 -0
- package/docs/opencode-theme-provider-proof/session-ui-base.patch +1217 -0
- package/docs/owned-host-controls-proof.md +39 -0
- package/docs/owned-runtime-release-manifest.md +42 -0
- package/docs/owned-visual-clear-proof.md +40 -0
- package/docs/patches/opencode-v2.0.32-glyph-spinner-test-isolation-v1.patch +50 -0
- package/docs/patches/opencode-v2.0.32-glyphs.patch +3670 -0
- package/docs/patches/opencode-v2.0.32-help-dispatch.patch +156 -0
- package/docs/patches/opencode-v2.0.32-live-theme-api.patch +122 -0
- package/docs/patches/opencode-v2.0.32-session-ui-combined-v1.patch +5272 -0
- package/docs/patches/opencode-v2.0.32-session-ui-combined-v2.patch +6052 -0
- package/docs/patches/opencode-v2.0.32-session-ui-combined-v3.patch +8657 -0
- package/docs/patches/opencode-v2.0.32-session-ui-combined-v4.patch +9928 -0
- package/docs/patches/opencode-v2.0.32-session-ui-combined-v5.patch +13965 -0
- package/docs/patches/opencode-v2.0.32-session-ui.patch +5137 -0
- package/docs/release-notes-beta.1.md +60 -0
- package/docs/release-notes-beta.2.md +60 -0
- package/docs/release-notes-native-draft.md +73 -0
- package/docs/release-notes-preview.10.md +121 -0
- package/docs/release-notes-preview.11.md +76 -0
- package/docs/release-notes-preview.12.md +55 -0
- package/docs/release-notes-preview.13.md +68 -0
- package/docs/release-notes-preview.9.md +130 -0
- package/docs/source-preview.md +120 -0
- package/evaluate.mjs +28 -1
- package/lib/budget.mjs +1 -1
- package/lib/cloud/client.mjs +13 -7
- package/lib/codegraph.mjs +1 -1
- package/lib/delivery-review.mjs +19 -6
- package/lib/delivery.mjs +3 -2
- package/lib/environment.mjs +8 -0
- package/lib/guidance.mjs +1 -1
- package/lib/opencode/cli-runtime.mjs +1188 -0
- package/lib/opencode/cli.mjs +253 -0
- package/lib/opencode/credentials.mjs +63 -8
- package/lib/opencode/demo.mjs +53 -0
- package/lib/opencode/evaluation-budget-plugin/index.ts +3 -0
- package/lib/opencode/evaluation.mjs +32 -12
- package/lib/opencode/headless.mjs +22 -5
- package/lib/opencode/provider-policy.mjs +23 -0
- package/lib/opencode/review.mjs +37 -16
- package/lib/opencode/runtime-artifact.mjs +335 -0
- package/lib/opencode/runtime-github-transport.mjs +121 -0
- package/lib/opencode/runtime-release.json +36 -0
- package/lib/opencode/runtime.mjs +299 -20
- package/lib/opencode/service.mjs +77 -35
- package/lib/opencode/session-options.mjs +6 -2
- package/lib/opencode/update.mjs +222 -0
- package/lib/opencode/workspace.mjs +1 -1
- package/lib/planning-advice.mjs +2 -2
- package/lib/providers/experiential.mjs +2 -2
- package/lib/providers/names.mjs +1 -1
- package/lib/tui/framing.mjs +1 -80
- package/lib/tui/models.mjs +1 -1
- package/lib/update.mjs +10 -1
- package/package.json +33 -7
- package/plugins/carthagent/README.md +23 -0
- package/plugins/carthagent/src/bootstrap.ts +1 -1
- package/plugins/carthagent/src/daily-evidence.mjs +57 -0
- package/plugins/carthagent/src/daily-quests-rpc.ts +50 -0
- package/plugins/carthagent/src/daily-source-rpc.ts +52 -0
- package/plugins/carthagent/src/index.ts +71 -24
- package/plugins/carthagent/src/rpc.ts +51 -6
- package/plugins/carthagent/src/server/codegraph.ts +12 -5
- package/plugins/carthagent/src/server/daily-quests-rpc.ts +277 -0
- package/plugins/carthagent/src/server/daily-source-rpc.ts +243 -0
- package/plugins/carthagent/src/server/delivery.ts +227 -112
- package/plugins/carthagent/src/server/framing.mjs +80 -0
- package/plugins/carthagent/src/server/policy.ts +1 -1
- package/plugins/carthagent/src/server/providers.ts +65 -36
- package/plugins/carthagent/src/server/session-controls.ts +3 -1
- package/plugins/carthagent/src/server/ship-agents.ts +77 -0
- package/plugins/carthagent/src/server/ship-context.mjs +60 -0
- package/plugins/carthagent/src/server/ship-guidance.ts +41 -0
- package/plugins/carthagent/src/server/ship-rpc.ts +71 -0
- package/plugins/carthagent/src/server/voyages-rpc.ts +280 -0
- package/plugins/carthagent/src/testing.ts +5 -0
- package/plugins/carthagent/src/tui.tsx +506 -0
- package/plugins/carthagent/src/ui/client.ts +127 -0
- package/plugins/carthagent/src/ui/commands.ts +70 -0
- package/plugins/carthagent/src/ui/daily-editor-focus.mjs +52 -0
- package/plugins/carthagent/src/ui/daily-editor.mjs +4 -0
- package/plugins/carthagent/src/ui/daily-quests-events.mjs +18 -0
- package/plugins/carthagent/src/ui/daily-quests-state.mjs +218 -0
- package/plugins/carthagent/src/ui/daily-quests.tsx +235 -0
- package/plugins/carthagent/src/ui/host-state.ts +42 -0
- package/plugins/carthagent/src/ui/model-command.ts +32 -0
- package/plugins/carthagent/src/ui/native-navigation.ts +23 -0
- package/plugins/carthagent/src/ui/native-review.d.mts +33 -0
- package/plugins/carthagent/src/ui/native-review.mjs +159 -0
- package/plugins/carthagent/src/ui/resume-session.mjs +34 -0
- package/plugins/carthagent/src/ui/select-mouse.ts +17 -0
- package/plugins/carthagent/src/ui/session-preferences.d.mts +7 -0
- package/plugins/carthagent/src/ui/session-preferences.mjs +14 -0
- package/plugins/carthagent/src/ui/theme-provision.d.mts +3 -0
- package/plugins/carthagent/src/ui/theme-provision.mjs +134 -0
- package/plugins/carthagent/src/ui/voyages-navigation-state.mjs +56 -0
- package/plugins/carthagent/src/ui/voyages-navigation.tsx +131 -0
- package/plugins/carthagent/src/ui/voyages-state.mjs +165 -0
- package/plugins/carthagent/src/ui/voyages.tsx +131 -0
- package/plugins/carthagent/src/ui/workspace-live.ts +61 -0
- package/plugins/carthagent/src/ui/workspace.tsx +379 -0
- package/plugins/carthagent/src/voyages-rpc.ts +64 -0
- package/plugins/carthagent/src/workspace-rpc.ts +36 -0
- package/plugins/carthagent/tests/commands.test.ts +107 -0
- package/plugins/carthagent/tests/session-preferences.test.mjs +41 -0
- package/plugins/carthagent/tests/voyages-navigation.test.tsx +269 -0
- package/plugins/carthagent/themes/carthage.json +67 -0
- package/plugins/carthagent/tui.ts +26 -1
- package/script/ctg/build-owned-runtime.sh +166 -0
- package/tests/budget-engine.test.mjs +4 -3
- package/tests/cli.test.mjs +52 -96
- package/tests/cloud-client.test.mjs +2 -2
- package/tests/daily-evidence.test.mjs +62 -0
- package/tests/delivery-review.test.mjs +57 -2
- package/tests/delivery.test.mjs +22 -1
- package/tests/experiential-extension.test.mjs +2 -2
- package/tests/experiential.test.mjs +1 -1
- package/tests/fixtures/native-discovery-plugin/server.ts +15 -0
- package/tests/generate-owned-runtime-release.test.mjs +354 -0
- package/tests/installed-runtime-contract.test.mjs +43 -0
- package/tests/native-cli-host-smoke.mjs +457 -0
- package/tests/native-daily-editor-focus.test.mjs +213 -0
- package/tests/native-daily-editor.test.mjs +43 -0
- package/tests/native-daily-quests-layout.test.mjs +55 -0
- package/tests/native-daily-quests-rpc.test.mjs +456 -0
- package/tests/native-daily-quests-ui.test.mjs +778 -0
- package/tests/native-daily-source.test.mjs +525 -0
- package/tests/native-demo-ui.test.mjs +48 -0
- package/tests/native-evaluation-admission.test.mjs +24 -0
- package/tests/native-fixture-browser-cleanup.test.mjs +65 -0
- package/tests/native-fixture-runtime.test.mjs +111 -0
- package/tests/native-fixture-stop-diagnostics.test.mjs +67 -0
- package/tests/native-glyph-pty.test.mjs +107 -0
- package/tests/native-manual-projects.test.mjs +170 -0
- package/tests/native-model-command.test.mjs +67 -0
- package/tests/native-owned-runtime-env.test.mjs +140 -0
- package/tests/native-paired-guards.test.mjs +464 -0
- package/tests/native-provider-policy.test.mjs +33 -0
- package/tests/native-pty-invocation.test.mjs +114 -0
- package/tests/native-pty-runtime.test.mjs +45 -0
- package/tests/native-resume-session.test.mjs +46 -0
- package/tests/native-review-consumer.test.mjs +286 -0
- package/tests/native-runtime-identity.test.mjs +214 -0
- package/tests/native-select-mouse.test.mjs +23 -0
- package/tests/native-ship-guidance.test.mjs +16 -0
- package/tests/native-ship-parity.test.mjs +526 -0
- package/tests/native-ship-plan.test.mjs +85 -0
- package/tests/native-ship-rpc.test.mjs +83 -0
- package/tests/native-ui-commands.test.mjs +6 -0
- package/tests/native-voyages-layout.test.mjs +28 -0
- package/tests/native-voyages-navigation.test.mjs +169 -0
- package/tests/native-voyages-rpc.test.mjs +397 -0
- package/tests/native-voyages-ui.test.mjs +307 -0
- package/tests/opencode-atomic-write.test.mjs +55 -0
- package/tests/opencode-cli.test.mjs +1312 -0
- package/tests/opencode-codegraph-plugin.test.mjs +47 -0
- package/tests/opencode-delivery.test.mjs +16 -0
- package/tests/opencode-providers.test.mjs +248 -20
- package/tests/opencode-runtime.test.mjs +597 -8
- package/tests/opencode-session-controls.test.mjs +15 -0
- package/tests/opencode-ship-rpc.test.mjs +71 -0
- package/tests/opencode-update.test.mjs +475 -0
- package/tests/opencode-workspace.test.mjs +51 -2
- package/tests/owned-runtime-publish-workflow.test.mjs +477 -0
- package/tests/release-workflow.test.mjs +46 -0
- package/tests/runtime-artifact.test.mjs +269 -0
- package/tests/runtime-development-trust.test.mjs +231 -0
- package/tests/runtime-github-transport.test.mjs +132 -0
- package/tests/runtime-token-env.test.mjs +23 -0
- package/tests/server.test.mjs +3 -1
- package/tests/ship-telemetry.test.mjs +1 -1
- package/tests/source-preview.test.mjs +253 -0
- package/tests/test_native_terminal_probe.py +76 -0
- package/tests/test_native_terminal_semantics.py +232 -0
- package/tests/tui.test.mjs +2 -2
- package/tests/update.test.mjs +42 -5
- package/tests/verify-draft-runtime-gate.test.mjs +280 -0
- package/tests/verify-owned-runtime-release.test.mjs +371 -0
- package/tests/workspace-live.test.mjs +127 -0
- package/tools/benchmark/diagnose-request.mjs +59 -36
- package/tools/benchmark/eval-common.mjs +3 -3
- package/tools/benchmark/evaluators.test.mjs +4 -4
- package/tools/benchmark/guard.test.mjs +35 -2
- package/tools/benchmark/guard.ts +20 -7
- package/tools/benchmark/planning-startup.test.mjs +30 -34
- package/tools/benchmark/runner.mjs +12 -7
- package/tools/benchmark/runner.test.mjs +23 -7
- package/tools/benchmark/upstream-error.test.mjs +16 -2
- package/tools/generate-owned-runtime-release.mjs +217 -0
- package/tools/installed-runtime-contract.mjs +16 -0
- package/tools/manual-runtime-manifest.mjs +39 -0
- package/tools/native-fixture-browser-cleanup.mjs +59 -0
- package/tools/native-fixture-stop-diagnostics.mjs +45 -0
- package/tools/native-fixture.mjs +199 -40
- package/tools/native-glyph-helpers.py +127 -0
- package/tools/native-glyph-pty.py +144 -0
- package/tools/native-manual-projects.mjs +259 -0
- package/tools/native-manual.mjs +338 -0
- package/tools/native-model-picker-acceptance.py +306 -0
- package/tools/native-owned-runtime-env.sh +47 -0
- package/tools/native-paired-guards.mjs +282 -0
- package/tools/native-paired-manifest.mjs +72 -0
- package/tools/native-paired-orchestration.sh +51 -0
- package/tools/native-plugin-readiness.mjs +33 -0
- package/tools/native-plugin-readiness.test.mjs +53 -0
- package/tools/native-pty-invocation.mjs +26 -0
- package/tools/native-pty-runtime.mjs +83 -0
- package/tools/native-pty-smoke.py +147 -24
- package/tools/native-public-repo-shell-result.mjs +13 -0
- package/tools/native-public-repo-shell-result.test.mjs +28 -0
- package/tools/native-runtime-identity.mjs +201 -0
- package/tools/native-slash-acceptance-env.py +38 -0
- package/tools/native-terminal-semantics.py +882 -0
- package/tools/owned-shell-observer/index.ts +16 -0
- package/tools/owned-shell-observer/package.json +1 -0
- package/tools/owned-visual-clear-env.py +48 -0
- package/tools/owned-visual-clear-model.py +21 -0
- package/tools/pinned-owned-runtime-inputs.mjs +46 -0
- package/tools/prepare-native-manual.mjs +122 -0
- package/tools/run-native-terminal-paired.sh +403 -0
- package/tools/runtime-token-env.mjs +8 -0
- package/tools/seed-native-switch-fixture.mjs +79 -0
- package/tools/test-native-controls.mjs +3 -1
- package/tools/test-native-daily-quests.mjs +65 -0
- package/tools/test-native-default-cli.mjs +106 -0
- package/tools/test-native-delivery-host.mjs +102 -20
- package/tools/test-native-evaluation.mjs +7 -3
- package/tools/test-native-glyph-pty.mjs +94 -0
- package/tools/test-native-host.mjs +91 -65
- package/tools/test-native-outcomes.mjs +3 -1
- package/tools/test-native-package.mjs +206 -38
- package/tools/test-native-performance.mjs +26 -0
- package/tools/test-native-product.mjs +90 -0
- package/tools/test-native-pty.mjs +34 -9
- package/tools/test-native-public-repo.mjs +224 -0
- package/tools/test-native-refresh-reentry.mjs +106 -0
- package/tools/test-native-report.mjs +27 -20
- package/tools/test-native-review.mjs +75 -0
- package/tools/test-native-runtime.mjs +120 -0
- package/tools/test-native-ship-models.mjs +176 -0
- package/tools/test-native-ship-walkthrough.mjs +96 -0
- package/tools/test-native-slash-commands.mjs +125 -0
- package/tools/test-native-slash-commands.py +242 -0
- package/tools/test-native-swe-host.mjs +224 -55
- package/tools/test-native-tasks.mjs +77 -0
- package/tools/test-native-terminal-performance.py +887 -0
- package/tools/test-native-terminal-readiness.sh +85 -0
- package/tools/test-native-terminal-semantics-installed.mjs +38 -0
- package/tools/test-native-visual-clear-installed.mjs +48 -0
- package/tools/test-owned-host-controls.mjs +238 -0
- package/tools/test-owned-opencode-runtime.mjs +35 -0
- package/tools/test-owned-visual-clear-env.py +120 -0
- package/tools/test-owned-visual-clear.py +373 -0
- package/tools/verify-draft-runtime-gate.mjs +138 -0
- package/tools/verify-owned-runtime-release.mjs +114 -0
- package/tools/verify-release-version.mjs +21 -1
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
# Carthagent 1.1.0-beta.1
|
|
2
|
+
|
|
3
|
+
The first 1.1 beta brings the native Projects, Ship, Voyages and daily-quest experience from preview.13 together with fixes verified through real DeepSeek work and account transactions.
|
|
4
|
+
|
|
5
|
+
## Fixed
|
|
6
|
+
|
|
7
|
+
- **Ship reviews for nested apps:** capture the application's own tracked and new source even when its Git root is an ancestor directory. Workspace containment, excluded directories, symlink protection and snapshot freshness remain enforced.
|
|
8
|
+
- **Clear implementation-tool guidance:** Ship explains when planning unlocks direct write/edit/shell tools, the extra strict-workflow prerequisites, and how direct tools differ from code-mode discovery.
|
|
9
|
+
- **Long-running headless tasks:** reconnect the wait observer after an HTTP header timeout without resending an admitted task.
|
|
10
|
+
- **Useful shop errors:** unaffordable items show `insufficient_coins`; invalid and expired quotes have distinct errors.
|
|
11
|
+
- **Quest evidence preview:** use **Ctrl+G** instead of the command palette's Ctrl+P. Incomplete evidence is rejected locally before submission.
|
|
12
|
+
|
|
13
|
+
## Verified-delivery rewards
|
|
14
|
+
|
|
15
|
+
From a completed Ship session, open Voyages and choose **Claim verified delivery
|
|
16
|
+
reward**. An eligible current required-check handoff earns **25 coins, 100 XP
|
|
17
|
+
and 1 km**, at most **three per UTC day**. Preview and confirmation are explicit;
|
|
18
|
+
duplicate run/project-snapshot claims cannot earn twice. Only digests are sent,
|
|
19
|
+
not source code or check output. The backend trusts the authenticated local
|
|
20
|
+
harness attestation; it does not independently rerun the repository.
|
|
21
|
+
|
|
22
|
+
The matching backend is deployed. Live earned claim, exact replay and native
|
|
23
|
+
service restart passed on the owner's account: 20 → 45 coins, 0 → 100 XP and
|
|
24
|
+
0 → 1 km, preserving equipment. See [reward acceptance results](beta-rewards-e2e-results.md).
|
|
25
|
+
|
|
26
|
+
## Verified in real use
|
|
27
|
+
|
|
28
|
+
- DeepSeek completed an accepted, snapshot-bound Ship delivery repairing Invest-With-Friends' existing build/type/lint failures. Independent checks confirmed **32 passing tests**, clean typecheck, lint with **0 errors / 13 existing warnings**, and a successful production build.
|
|
29
|
+
- Production HTTP checks rejected **25 invalid trade payloads**.
|
|
30
|
+
- A real 30-coin equipment purchase debited once, and ownership/equipment persisted through restart. Duplicate purchases, unowned equipment, locked items, stale profile writes and insufficient funds were rejected.
|
|
31
|
+
- Three distinct daily outcomes completed grading; one was assessed complete and two needed more evidence. Cross-quest duplicate claims were rejected. Ctrl+G validation and draft cancellation were checked in the live TUI.
|
|
32
|
+
|
|
33
|
+
## Beta scope and known limitations
|
|
34
|
+
|
|
35
|
+
- Daily quests assess selected evidence; they are not independent verification. **Daily-assessment rewards are disabled:** no coins, XP, distance or equipment are granted for assessment alone. Verified-delivery claims are a separate path.
|
|
36
|
+
- Native friends/badges views are not implemented.
|
|
37
|
+
- Long quest summaries can overlap the actions heading in the terminal.
|
|
38
|
+
- The Invest-With-Friends delivery is a verification example, not a deployment of that application. Its full authenticated Google/database/trading flows remain unverified; its production environment needs an auth secret, and its existing trade endpoint checks market status before authentication.
|
|
39
|
+
|
|
40
|
+
See [the launch-readiness report](launch-readiness-live-results.md) for detailed results and limitations.
|
|
41
|
+
|
|
42
|
+
## Install or upgrade
|
|
43
|
+
|
|
44
|
+
```sh
|
|
45
|
+
ctg update --channel beta --check
|
|
46
|
+
ctg update --channel beta
|
|
47
|
+
ctg --version # 1.1.0-beta.1
|
|
48
|
+
```
|
|
49
|
+
|
|
50
|
+
Or install the exact npm version:
|
|
51
|
+
|
|
52
|
+
```sh
|
|
53
|
+
npm install -g carthagent@1.1.0-beta.1
|
|
54
|
+
```
|
|
55
|
+
|
|
56
|
+
This is a GitHub prerelease, published to npm's `next` tag. Stable `latest` remains 1.0.7. The beta channel deliberately selects this beta even though SemVer orders the older `preview.13` label above `beta.1`; an explicit channel switch is supported. `ctg update --channel stable` returns to stable.
|
|
57
|
+
|
|
58
|
+
## Runtime provenance
|
|
59
|
+
|
|
60
|
+
Five native runtime builds are produced by [prebuild run 41398315323](https://github.com/B-icy/Carthagent/actions/runs/41398315323), from source `7a027f0aa792d40802acc92e7d12630b510df241`. The runtime recipe remains combined-v5 on upstream `843a6c514e606b436a7fe713422ace0a93ad3d61`, compatibility `2.0.32`. The packaged `lib/opencode/runtime-release.json` pins the beta's archive and executable digests; release assets include that manifest and combined checksums.
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
# Carthagent 1.1.0-beta.2 — release candidate
|
|
2
|
+
|
|
3
|
+
This candidate simplifies Cloud sign-in and keeps billing recovery connected to
|
|
4
|
+
the task already open in your terminal. Publication and installed acceptance are
|
|
5
|
+
pending; these notes do not establish availability on npm.
|
|
6
|
+
|
|
7
|
+
## Cloud sign-in and first use
|
|
8
|
+
|
|
9
|
+
- Hosted models are named **Carthagent Cloud**. **Ship mode** remains the verified
|
|
10
|
+
coding workflow. Existing provider IDs and login aliases continue to work.
|
|
11
|
+
- Fresh Cloud sign-in goes directly through browser authorization. Legacy import
|
|
12
|
+
and upstream-key methods require `CARTHAGENT_ADVANCED_AUTH=1`.
|
|
13
|
+
- The browser identifies the account and terminal being connected. Device codes
|
|
14
|
+
last 20 minutes, with continuation-preserving sign-in recovery.
|
|
15
|
+
- Successful CLI sign-in suggests one small project task and points Cloud users
|
|
16
|
+
to `/account` for identity and actual available usage.
|
|
17
|
+
|
|
18
|
+
## Review billing, then continue explicitly
|
|
19
|
+
|
|
20
|
+
- `/billing checkout builder`, `pro` or `max` shows authenticated plan terms
|
|
21
|
+
before opening checkout. Eligible new Builder customers pay **$1 for the first
|
|
22
|
+
month, then $10/month**; Pro starts at **$25/month**, Max at **$50/month**.
|
|
23
|
+
- The separate one-time starter usage credit is attempted on first terminal
|
|
24
|
+
authorization. Browser signup alone does not grant it.
|
|
25
|
+
- Existing card subscribers review Stripe's prorated amount before confirming a
|
|
26
|
+
change. The renewal anchor and consumed/reserved usage are preserved. Existing
|
|
27
|
+
grandfathered subscriptions retain their documented allowance policy.
|
|
28
|
+
- After payment, run `/billing refresh` in the existing session, or
|
|
29
|
+
`ctg billing refresh` outside the TUI. Then explicitly continue the task.
|
|
30
|
+
Checkout does not automatically submit a prompt or restart work.
|
|
31
|
+
|
|
32
|
+
## Acceptance and limitations
|
|
33
|
+
|
|
34
|
+
Backend onboarding and retention reporting are deployed through PRs #178 and
|
|
35
|
+
#179. Native onboarding PR #238 is merged; first-task guidance is in PR #239.
|
|
36
|
+
The original onboarding suite passed 1,131 tests with five skips; corrected
|
|
37
|
+
native CI passed on Linux, macOS and Windows. These results precede final
|
|
38
|
+
beta.2 installed-package and public-acquisition acceptance.
|
|
39
|
+
|
|
40
|
+
Stripe test-mode access remains unavailable; real decline/SCA, tax/discount and
|
|
41
|
+
the full financial-transition matrix are not verified. No new live purchase or
|
|
42
|
+
end-to-end paid task continuation is claimed. Browser screenshot capture remains
|
|
43
|
+
unavailable. Local terminal acceptance initially showed event-stream timing
|
|
44
|
+
failures; the subsequent full installed-package run passed all 28 probes/scenarios
|
|
45
|
+
with the pinned beta.1 runtime, as did CI package acceptance. Final beta.2 draft
|
|
46
|
+
acceptance against its own manifest and assets is still required.
|
|
47
|
+
|
|
48
|
+
Verified-delivery rewards remain 25 coins, 100 XP and 1 km per eligible claimed
|
|
49
|
+
delivery, up to three per UTC day. Daily classifier assessments remain unrewarded.
|
|
50
|
+
|
|
51
|
+
## Planned release channel
|
|
52
|
+
|
|
53
|
+
The candidate targets npm `next` and the beta updater channel. Stable `latest`
|
|
54
|
+
remains 1.0.7. Exact installation and update instructions will be verified after
|
|
55
|
+
the immutable release and its five runtime archives are published.
|
|
56
|
+
|
|
57
|
+
Runtime prebuild: [41505735348](https://github.com/B-icy/Carthagent/actions/runs/41505735348),
|
|
58
|
+
source `d999644028ed0c0dc70bcaf58060db4018278e48`. The runtime recipe remains
|
|
59
|
+
combined-v5 on upstream `843a6c514e606b436a7fe713422ace0a93ad3d61`, compatibility
|
|
60
|
+
2.0.32. The final package must pin the generated archive and executable digests.
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
# Draft release notes: native OpenCode migration
|
|
2
|
+
|
|
3
|
+
> **UNRELEASED — draft only.** Planned version: **1.1.0**. No tag or release
|
|
4
|
+
> has been published.
|
|
5
|
+
> This document is not a release announcement and does not imply that the
|
|
6
|
+
> native default switch or full product acceptance is complete. The packaged
|
|
7
|
+
> five-platform runtime manifest is a reviewed candidate; publishing assets
|
|
8
|
+
> and passing release gates are still pending.
|
|
9
|
+
|
|
10
|
+
## Proposed highlights (subject to acceptance)
|
|
11
|
+
|
|
12
|
+
- Native OpenCode project, task, worktree, and session workflow with Carthagent
|
|
13
|
+
delivery status and workspace context.
|
|
14
|
+
- Carthagent-owned OpenCode runtime and profile, isolated from the user's normal
|
|
15
|
+
OpenCode configuration, service, credentials, data, and sessions.
|
|
16
|
+
- Headless execution with text output or selected-session JSONL lifecycle
|
|
17
|
+
events, plus workspace delivery status in JSON.
|
|
18
|
+
- Read-only access to legacy Pi transcripts through archive list, search, read,
|
|
19
|
+
and export commands. No transcript import or continuation is provided.
|
|
20
|
+
- Existing command names and aliases retained where supported by the native
|
|
21
|
+
CLI compatibility layer.
|
|
22
|
+
|
|
23
|
+
## Migration and compatibility notes
|
|
24
|
+
|
|
25
|
+
- In this candidate, native execution remains opt-in with `CTG_NATIVE=1`.
|
|
26
|
+
Without the variable, the existing CLI remains the default. Making native
|
|
27
|
+
execution the default is pending UI tests and the remaining migration and
|
|
28
|
+
release acceptance gates; do not set the variable persistently unless that
|
|
29
|
+
routing is intentional.
|
|
30
|
+
- The native runtime uses the package-owned OpenCode 2.0.32 executable and CTG's
|
|
31
|
+
isolated profile. It does not update or reuse regular OpenCode installations
|
|
32
|
+
or credentials.
|
|
33
|
+
- Legacy Pi session files are read-only archives; they cannot be resumed,
|
|
34
|
+
continued, or imported as native OpenCode sessions.
|
|
35
|
+
- Unsupported options fail closed. In the current adapter, `--bash-cap` and
|
|
36
|
+
`--isolate` are unsupported, and budget or policy options require advertised
|
|
37
|
+
enforcement capabilities.
|
|
38
|
+
- Acceptance is not complete. See the [migration ledger](opencode-migration.md),
|
|
39
|
+
[compatibility matrix](native-compatibility.md), and
|
|
40
|
+
[terminal evidence status](native-terminal-semantics.md#evidence-status-pr-162)
|
|
41
|
+
for unresolved gates. Do not describe this migration as generally available
|
|
42
|
+
until release ownership confirms those gates and the installed product.
|
|
43
|
+
|
|
44
|
+
## Install/update (for a future published release only)
|
|
45
|
+
|
|
46
|
+
After the planned release passes acceptance and is published, the
|
|
47
|
+
documented exact-tag npm installation form is:
|
|
48
|
+
|
|
49
|
+
```sh
|
|
50
|
+
npm install -g --install-links=true github:B-icy/Carthagent#vX.Y.Z
|
|
51
|
+
```
|
|
52
|
+
|
|
53
|
+
Replace the placeholder only with the real published release tag. Version
|
|
54
|
+
`1.1.0` is planned, but no final tag has been created. This candidate packages
|
|
55
|
+
the reviewed immutable owned-runtime manifest for five platforms, pinned to
|
|
56
|
+
OpenCode source revision `843a6c514e606b436a7fe713422ace0a93ad3d61` and runtime
|
|
57
|
+
identity `0.0.0-ctg.2.0.32`. The assets still need to accompany a draft release
|
|
58
|
+
and pass final release verification and installed acceptance. The composed
|
|
59
|
+
preview resolves upstream `@opencode/cli@2.0.32` through Node's package resolver,
|
|
60
|
+
including npm-hoisted layouts; that preview dependency is distinct from CTG's
|
|
61
|
+
owned runtime identity. Performance, UI tests, native-default acceptance, and
|
|
62
|
+
full installed acceptance remain open in the
|
|
63
|
+
[migration ledger](opencode-migration.md#delivery-ledger).
|
|
64
|
+
The shared native update operation supports npm-installed packages and clean
|
|
65
|
+
source clones: for a clone it fetches the selected origin tag into a private ref
|
|
66
|
+
before checking out its resolved commit, and refuses dirty clones. Do not infer
|
|
67
|
+
that every native command surface is wired to this operation. `ctg update`
|
|
68
|
+
updates Carthagent, not a user's regular OpenCode installation, and does not
|
|
69
|
+
change the native opt-in default. See the
|
|
70
|
+
[upgrade guide](native-upgrade.md#release-installation-and-update) for the
|
|
71
|
+
current command-path distinction. Native migration acceptance remains open; do
|
|
72
|
+
not infer completion of unrelated CLI, UI, or transport follow-ups not yet
|
|
73
|
+
composed here.
|
|
@@ -0,0 +1,121 @@
|
|
|
1
|
+
# 1.1.0-preview.10 release candidate
|
|
2
|
+
|
|
3
|
+
> **NOT YET PUBLISHED — candidate guidance, not a release announcement.**
|
|
4
|
+
> Published preview.9 remains immutable. This candidate still needs its final
|
|
5
|
+
> tag, draft/assets, exact-tag installed default-resolver acceptance, public
|
|
6
|
+
> release, and anonymous public default-resolver acceptance. No stable release
|
|
7
|
+
> or stable control-plane update is part of this candidate.
|
|
8
|
+
|
|
9
|
+
## What changes
|
|
10
|
+
|
|
11
|
+
Native remains the default `ctg` interface; `ctg native` is a compatibility
|
|
12
|
+
alias. Ship retains approval, checks, review, repair, recovery and resume; Lite
|
|
13
|
+
remains direct execution. Stable 1.0.7 retains the legacy console, and legacy
|
|
14
|
+
Pi transcripts remain read-only archives. The owned native profile remains
|
|
15
|
+
separate from other coding-tool credentials and sessions.
|
|
16
|
+
|
|
17
|
+
**Native daily coding quests (PR #227)** are available through `/voyages` →
|
|
18
|
+
**Daily coding quests**, using normal Carthagent Ship device sign-in:
|
|
19
|
+
|
|
20
|
+
- Select a server assignment and individual evidence from an owned session's
|
|
21
|
+
exact active Ship report, or supply a clearly labeled manual claim. Nothing
|
|
22
|
+
is selected by default. Edit/redact sensitive text yourself; there is no
|
|
23
|
+
automatic secret-scrubbing guarantee or whole-project/transcript upload.
|
|
24
|
+
- Inspect the complete canonical outbound JSON. Editing invalidates that exact
|
|
25
|
+
preview. Submission requires fresh, explicit consent for this request and
|
|
26
|
+
disclosure of external **JEV** processing. Login or completing local delivery
|
|
27
|
+
is not consent; cancel does not send. Identity/connection/location invalidation
|
|
28
|
+
clears the draft/consent and returns the action selection to **Refresh**.
|
|
29
|
+
- The exact request and stable submission ID are durably journaled before send.
|
|
30
|
+
Recover an uncertain send by **GET/status first**; read-only refresh/poll never
|
|
31
|
+
replays. Any explicit replay uses the saved ID and exact body, not a new ID.
|
|
32
|
+
Journal failure fails closed; accepted IDs remain usable across restart.
|
|
33
|
+
- Acceptance is not completion. Local raw payloads are erased on known
|
|
34
|
+
acceptance; unknown-send payloads expire after up to 24 hours on journal
|
|
35
|
+
access, not a background timer. Explicit local erasure retains polling IDs
|
|
36
|
+
and cannot withdraw evidence already sent. Backend raw evidence is erased
|
|
37
|
+
on terminal processing (pending up to 24 hours; outages can delay cleanup);
|
|
38
|
+
metadata retention is 90 days. Immediate provider/backup deletion is not promised.
|
|
39
|
+
- Graded decisions assess submitted evidence, **not independent verification**.
|
|
40
|
+
Scores are not calibrated confidence. There are **no coins, XP, distance,
|
|
41
|
+
inventory or other rewards**; personal quests remain separate.
|
|
42
|
+
|
|
43
|
+
See [native daily quest guidance](native-daily-quests.md) for schema, privacy,
|
|
44
|
+
retention, consent and recovery details.
|
|
45
|
+
|
|
46
|
+
## Candidate provenance
|
|
47
|
+
|
|
48
|
+
| Input | Exact value |
|
|
49
|
+
| --- | --- |
|
|
50
|
+
| Package candidate | `1.1.0-preview.10` |
|
|
51
|
+
| Feature source head | `5e759c4c4d21b1df10ecdcd130ad59cd377bcc15` |
|
|
52
|
+
| Original prebuild source | `7a9d49fe7e2dcc8358a4c28e3539479df5be55a1` |
|
|
53
|
+
| Prebuild workflow run | `40950483282` |
|
|
54
|
+
| Full manifest SHA-256 | `2d4adee543f5dec37abf8a67c677cecfc5de294031a1c37d23fea43bc90fe757` |
|
|
55
|
+
| Upstream revision | `843a6c514e606b436a7fe713422ace0a93ad3d61` |
|
|
56
|
+
| CTG patch SHA-256 | `b4238d77827d7ccf8f87fb0326551eaa62268d9387cd89e29bd0cf12bd6dafaa` |
|
|
57
|
+
| Lock SHA-256 | `9d78379cd264584a495440a217b9d2ecab524c9a56f7f8b4b5bed3926daa330d` |
|
|
58
|
+
| Runtime / compatibility | `0.0.0-ctg.2.0.32` / `2.0.32` |
|
|
59
|
+
|
|
60
|
+
All five prebuilds succeeded: Linux x64/arm64, macOS x64/arm64 and Windows x64.
|
|
61
|
+
The original **13-file bundle** was independently verified through the
|
|
62
|
+
production acquirer, with byte-identical manifest regeneration. Runtime,
|
|
63
|
+
upstream, patch and lock identities are unchanged, but this manifest pins the
|
|
64
|
+
**fresh five-platform archive and executable hashes**, not preview.9 hashes.
|
|
65
|
+
Prebuild provenance is not final package identity or installed acceptance.
|
|
66
|
+
|
|
67
|
+
## Recorded evidence and limits
|
|
68
|
+
|
|
69
|
+
These are supplied source/development-runtime results, not tests rerun by this
|
|
70
|
+
version/docs preparation and not exact-candidate installed acceptance.
|
|
71
|
+
|
|
72
|
+
- **Source quality at `5e759c4`: 1,069 passed, 0 failed, 5 skipped.** The first
|
|
73
|
+
historical quality run had 1,068 passed, 1 failed, 5 skipped: a legacy
|
|
74
|
+
dashboard 401-versus-403 assertion of unknown cause. Isolated and serial runs
|
|
75
|
+
passed; that does not establish a causal fix. Feature-head normal
|
|
76
|
+
[PR CI40951839410](https://github.com/B-icy/Carthagent/actions/runs/40951839410)
|
|
77
|
+
and [push CI40951831992](https://github.com/B-icy/Carthagent/actions/runs/40951831992)
|
|
78
|
+
both passed all eight jobs. Release-candidate CI remains a separate gate.
|
|
79
|
+
- **Actual native daily flow:** one authorized provider attempt reached graded
|
|
80
|
+
`needs_evidence`, not quest completion or rewards. Raw-payload erasure and
|
|
81
|
+
read-only polling after an actual client restart passed. Genuine background
|
|
82
|
+
cancellation notice, reset to Refresh, and delayed Enter behavior passed.
|
|
83
|
+
Unknown network-send replay was not forced live; that coverage is offline only.
|
|
84
|
+
- **Actual native wallet flow:** fresh normal device approval; cancel made no
|
|
85
|
+
purchase and left 50 coins. One explicitly authorized 40-coin `bottoms:shorts`
|
|
86
|
+
purchase left 10 coins, owned items 9 → 10 and profile version v1 → v2.
|
|
87
|
+
Actual client restart preserved it; equipment was unchanged. This is not a
|
|
88
|
+
daily-quest reward or proof of live unknown-response purchase replay.
|
|
89
|
+
- **Website browser E2E blocked:** Chrome was missing and one install attempt
|
|
90
|
+
failed because Linux ARM64 was unavailable. Public Voyages HTTP 200 is not
|
|
91
|
+
signed-in browser proof.
|
|
92
|
+
- **Native-host CI caveat:** the initial `7a9d49f` PR macOS Node 24 service-stop
|
|
93
|
+
5,000 ms timeout is not causally fixed. New failure-only diagnostics leave
|
|
94
|
+
deadlines and assertions unchanged; review returned no findings (`[]`) and
|
|
95
|
+
Linux native-host passed. Both later feature-head CI runs passed, including
|
|
96
|
+
macOS Node 22/24; that is gate evidence, not a causal shutdown fix or full
|
|
97
|
+
cross-platform interactive UI proof.
|
|
98
|
+
|
|
99
|
+
## Trying it and remaining gates
|
|
100
|
+
|
|
101
|
+
Before publication, use only reviewed artifacts with the
|
|
102
|
+
[explicit manual-kit method](native-manual-testing.md); do not weaken hashes or
|
|
103
|
+
expect the public default resolver to find unpublished assets. No claim is made
|
|
104
|
+
that this exact candidate has passed installed-package acceptance.
|
|
105
|
+
|
|
106
|
+
Only **after publication** of the final tag and reviewed assets:
|
|
107
|
+
|
|
108
|
+
```sh
|
|
109
|
+
npm install -g --install-links=true github:B-icy/Carthagent#v1.1.0-preview.10
|
|
110
|
+
# Or select published experimental releases (possibly a later preview):
|
|
111
|
+
ctg update --channel experimental --check
|
|
112
|
+
ctg update --channel experimental
|
|
113
|
+
```
|
|
114
|
+
|
|
115
|
+
Drafts are not updates. Experimental releases never advance the stable pointer.
|
|
116
|
+
Final package/manifest review, final CI, tag/draft/assets, exact-tag installed
|
|
117
|
+
acceptance with the normal resolver, publication and anonymous public installed
|
|
118
|
+
acceptance remain release gates. See the [upgrade guide](native-upgrade.md) for
|
|
119
|
+
profile preservation and stable-channel recovery. Historical
|
|
120
|
+
[preview.9 notes](release-notes-preview.9.md) are retained unchanged, not current
|
|
121
|
+
candidate status or evidence that immutable preview.9 gains these changes.
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
# 1.1.0-preview.11 experimental release
|
|
2
|
+
|
|
3
|
+
Experimental preview. Install it explicitly with the experimental channel;
|
|
4
|
+
stable 1.0.7 is unchanged and published preview.10 remains immutable.
|
|
5
|
+
|
|
6
|
+
## What changes
|
|
7
|
+
|
|
8
|
+
**Projects / Voyages left pane (PR #230).** On a wide enough terminal the left
|
|
9
|
+
rail has two modes, **Projects** (the existing session list) and **Voyages**.
|
|
10
|
+
|
|
11
|
+
- Switching modes keeps the current page. It does not create, interrupt, or
|
|
12
|
+
close a coding session, and it does not change the session or draft.
|
|
13
|
+
- The Voyages navigator shows read-only profile and daily assignment
|
|
14
|
+
summaries. Select an entry explicitly to open its detail page. Opening a
|
|
15
|
+
quest does not compose evidence or grant consent. **Return to coding** opens
|
|
16
|
+
the selected session, or Home when no session is selected.
|
|
17
|
+
- Each mode keeps its own selection and scroll position, and the chosen mode
|
|
18
|
+
is restored after a normal restart (without reopening a detail page).
|
|
19
|
+
- **Focus pane** (or the configured shortcut) moves keyboard focus into the
|
|
20
|
+
pane; `Escape` returns focus to the page. Clicking a page control while the
|
|
21
|
+
pane is focused keeps focus on that control.
|
|
22
|
+
- The compact rail uses `Q` (quests), `P` (profile), `E` (equipment),
|
|
23
|
+
`R` (refresh), `S` (sign in) and `B` (return to coding); numbered rows are
|
|
24
|
+
actual assignments. When the terminal is too narrow for the rail, use the
|
|
25
|
+
command palette, `/voyages`, or `/quests`.
|
|
26
|
+
- Badges and friends have no native views yet. The pane never invents links or
|
|
27
|
+
data the server did not return.
|
|
28
|
+
|
|
29
|
+
**Dialog resize fix.** Select dialogs no longer register one terminal-resize
|
|
30
|
+
listener per row, which produced `MaxListenersExceededWarning` in large lists.
|
|
31
|
+
|
|
32
|
+
Daily coding quests, Ship, Lite and the native default `ctg` interface behave
|
|
33
|
+
as in preview.10. Assessments still award no coins, XP, or other rewards.
|
|
34
|
+
|
|
35
|
+
## Provenance
|
|
36
|
+
|
|
37
|
+
| Input | Exact value |
|
|
38
|
+
| --- | --- |
|
|
39
|
+
| Package | `1.1.0-preview.11` |
|
|
40
|
+
| Prebuild source | `47fe2a6d52492f5f614a704605486ec6e8ed9f79` |
|
|
41
|
+
| Prebuild workflow run | [41145521256](https://github.com/B-icy/Carthagent/actions/runs/41145521256) |
|
|
42
|
+
| Full manifest SHA-256 | `6afe56eff1d2d08e798c7e329e817a980f7184a47bbb771c2a3e231eb3687862` |
|
|
43
|
+
| Upstream revision | `843a6c514e606b436a7fe713422ace0a93ad3d61` |
|
|
44
|
+
| CTG patch (combined-v4) SHA-256 | `1f2309bb3a31dfb8e8a0827a6a1144a1f76a005abff58f6f48857639ec02478a` |
|
|
45
|
+
| Lock SHA-256 | `9d78379cd264584a495440a217b9d2ecab524c9a56f7f8b4b5bed3926daa330d` |
|
|
46
|
+
| Runtime / compatibility | `0.0.0-ctg.2.0.32` / `2.0.32` |
|
|
47
|
+
|
|
48
|
+
All five native prebuilds (Linux x64/arm64, macOS x64/arm64, Windows x64)
|
|
49
|
+
passed the full runtime typecheck and the build recipe's test list in one run.
|
|
50
|
+
|
|
51
|
+
Two tests that are timing-sensitive on CI were hardened. Neither change touches
|
|
52
|
+
product code:
|
|
53
|
+
|
|
54
|
+
- `navigation-rail`: waits for the pane's status text to refresh on the next
|
|
55
|
+
render pass instead of reading it immediately after a click.
|
|
56
|
+
- `plugin-source` (real watchers): confirms the helper watch is live before
|
|
57
|
+
the atomic save. On the current `macos-15-arm64` runner image, a macOS file
|
|
58
|
+
watcher can miss a write made immediately after it starts.
|
|
59
|
+
|
|
60
|
+
## Trying it
|
|
61
|
+
|
|
62
|
+
```sh
|
|
63
|
+
ctg update --channel experimental --check
|
|
64
|
+
ctg update --channel experimental
|
|
65
|
+
ctg --version # 1.1.0-preview.11
|
|
66
|
+
```
|
|
67
|
+
|
|
68
|
+
Or install the exact tag:
|
|
69
|
+
|
|
70
|
+
```sh
|
|
71
|
+
npm install -g --install-links=true github:B-icy/Carthagent#v1.1.0-preview.11
|
|
72
|
+
```
|
|
73
|
+
|
|
74
|
+
`ctg update --channel stable` returns to stable 1.0.7 without `--force`. See
|
|
75
|
+
the [upgrade guide](native-upgrade.md) for profile preservation. Historical
|
|
76
|
+
[preview.10 notes](release-notes-preview.10.md) are retained unchanged.
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
# 1.1.0-preview.12 experimental release
|
|
2
|
+
|
|
3
|
+
Experimental preview. Install it explicitly with the experimental channel;
|
|
4
|
+
stable 1.0.7 is unchanged and published preview.11 remains immutable.
|
|
5
|
+
|
|
6
|
+
## What changes
|
|
7
|
+
|
|
8
|
+
**npm package keeps the `ctg` command.** Preview.11 declared its command as
|
|
9
|
+
`./bin/ctg.mjs`. npm 11 treats that path as invalid and removes it during
|
|
10
|
+
`npm publish`, so a registry copy of preview.11 would have installed without a
|
|
11
|
+
`ctg` command. Preview.11 was therefore published on GitHub only. Preview.12
|
|
12
|
+
declares `bin/ctg.mjs` and normalizes the repository URL, so `npm publish` makes
|
|
13
|
+
no corrections to the manifest.
|
|
14
|
+
|
|
15
|
+
**Release check.** `tools/verify-release-version.mjs` (run by the release
|
|
16
|
+
workflow before anything is uploaded) now runs `npm publish --dry-run` and
|
|
17
|
+
fails if npm would auto-correct or remove any field, if `bin.ctg` is not a
|
|
18
|
+
plain relative path, or if the packed package lacks an executable
|
|
19
|
+
`bin/ctg.mjs`.
|
|
20
|
+
|
|
21
|
+
Product behaviour, the Projects / Voyages left pane, the native runtime source,
|
|
22
|
+
and the CTG patch are identical to
|
|
23
|
+
[preview.11](release-notes-preview.11.md). The runtime is rebuilt only because
|
|
24
|
+
each runtime manifest is bound to its exact package version.
|
|
25
|
+
|
|
26
|
+
## Provenance
|
|
27
|
+
|
|
28
|
+
| Input | Exact value |
|
|
29
|
+
| --- | --- |
|
|
30
|
+
| Package | `1.1.0-preview.12` |
|
|
31
|
+
| Prebuild source | `5c2c8730e140435a5a4f003ff30089efec006453` |
|
|
32
|
+
| Prebuild workflow run | [41156564357](https://github.com/B-icy/Carthagent/actions/runs/41156564357) |
|
|
33
|
+
| Full manifest SHA-256 | `b29fb261d88d052593421a42d4100d515b6b48454ca687ebdeceef9b32743742` |
|
|
34
|
+
| Upstream revision | `843a6c514e606b436a7fe713422ace0a93ad3d61` |
|
|
35
|
+
| CTG patch (combined-v4) SHA-256 | `1f2309bb3a31dfb8e8a0827a6a1144a1f76a005abff58f6f48857639ec02478a` |
|
|
36
|
+
| Lock SHA-256 | `9d78379cd264584a495440a217b9d2ecab524c9a56f7f8b4b5bed3926daa330d` |
|
|
37
|
+
| Runtime / compatibility | `0.0.0-ctg.2.0.32` / `2.0.32` |
|
|
38
|
+
|
|
39
|
+
## Trying it
|
|
40
|
+
|
|
41
|
+
```sh
|
|
42
|
+
ctg update --channel experimental --check
|
|
43
|
+
ctg update --channel experimental
|
|
44
|
+
ctg --version # 1.1.0-preview.12
|
|
45
|
+
```
|
|
46
|
+
|
|
47
|
+
Or install the exact version from npm or the exact tag:
|
|
48
|
+
|
|
49
|
+
```sh
|
|
50
|
+
npm install -g carthagent@1.1.0-preview.12
|
|
51
|
+
npm install -g --install-links=true github:B-icy/Carthagent#v1.1.0-preview.12
|
|
52
|
+
```
|
|
53
|
+
|
|
54
|
+
`ctg update --channel stable` returns to stable 1.0.7 without `--force`. See
|
|
55
|
+
the [upgrade guide](native-upgrade.md) for profile preservation.
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
# 1.1.0-preview.13 experimental release
|
|
2
|
+
|
|
3
|
+
Experimental preview. Install it explicitly with the experimental channel;
|
|
4
|
+
stable 1.0.7 is unchanged and published preview.12 remains immutable.
|
|
5
|
+
|
|
6
|
+
## What changes
|
|
7
|
+
|
|
8
|
+
**Directory-first Projects rail.** The native left rail is organized around
|
|
9
|
+
folders: a current-folder card with Browse, New session and model controls,
|
|
10
|
+
distinct folder and group headings, and an active-session marker. A
|
|
11
|
+
folder-browser dialog adds Back, Forward, Up, Home, direct paths and
|
|
12
|
+
filtering, with async cancellation, exact path handling and preserved drafts.
|
|
13
|
+
|
|
14
|
+
**Shared folder/model setup for new sessions.** Global and per-folder New
|
|
15
|
+
session entries route through one setup flow. The session is created only on
|
|
16
|
+
the first send, keeping the chosen folder, agent, model and applicable
|
|
17
|
+
variant; unavailable selections are blocked instead of silently substituted.
|
|
18
|
+
Pre-session `/model` is supported.
|
|
19
|
+
|
|
20
|
+
**Isolated source-preview launcher.** `script/ctg/source-preview.sh` runs the
|
|
21
|
+
checked-in development patch against its own profile for verification without
|
|
22
|
+
touching the published runtime or its caches. The combined-v5 patch is a
|
|
23
|
+
replacement patch: it contains all of combined-v4 plus these sources and
|
|
24
|
+
their tests, and applies directly to the pinned upstream.
|
|
25
|
+
|
|
26
|
+
The upstream revision, lockfile and detached runtime identity are unchanged
|
|
27
|
+
from preview.12; the runtime is rebuilt because each runtime manifest is
|
|
28
|
+
bound to its exact package version.
|
|
29
|
+
|
|
30
|
+
**Ship and Voyages follow-up fixes.** Beam replay requests include the required
|
|
31
|
+
nonempty reasoning placeholder when earlier assistant messages have no recorded
|
|
32
|
+
reasoning. The delivery plan entry point stays visible in the code-mode catalog,
|
|
33
|
+
and final review accepts single-assertion aliases and assertion arrays. Voyages
|
|
34
|
+
and quest lists activate on mouse release so newly opened dialogs remain open;
|
|
35
|
+
rail clicks select the intended quest and respect modal focus.
|
|
36
|
+
Delivery tool guidance explicitly identifies JSON-text responses and requires
|
|
37
|
+
relative file paths for promised outputs, avoiding prose-as-filename contracts.
|
|
38
|
+
|
|
39
|
+
## Provenance
|
|
40
|
+
|
|
41
|
+
| Input | Exact value |
|
|
42
|
+
| --- | --- |
|
|
43
|
+
| Package | `1.1.0-preview.13` |
|
|
44
|
+
| Prebuild source | `e5de273811a11c2f8678b54605c0068ab8cfcf38` |
|
|
45
|
+
| Prebuild workflow run | [41380550073](https://github.com/B-icy/Carthagent/actions/runs/41380550073) |
|
|
46
|
+
| Full manifest SHA-256 | `5083dbe10b6f4be2550ab0abb04c9299197dacabe4b9d3556bd3b03fc9f6151a` |
|
|
47
|
+
| Upstream revision | `843a6c514e606b436a7fe713422ace0a93ad3d61` |
|
|
48
|
+
| CTG patch (combined-v5) SHA-256 | `ec4bb182308ed8b311513aad5c9c7d57dcd0db103f0882f3dc3517d535b4c975` |
|
|
49
|
+
| Lock SHA-256 | `9d78379cd264584a495440a217b9d2ecab524c9a56f7f8b4b5bed3926daa330d` |
|
|
50
|
+
| Runtime / compatibility | `0.0.0-ctg.2.0.32` / `2.0.32` |
|
|
51
|
+
|
|
52
|
+
## Trying it
|
|
53
|
+
|
|
54
|
+
```sh
|
|
55
|
+
ctg update --channel experimental --check
|
|
56
|
+
ctg update --channel experimental
|
|
57
|
+
ctg --version # 1.1.0-preview.13
|
|
58
|
+
```
|
|
59
|
+
|
|
60
|
+
Or install the exact version from npm or the exact tag:
|
|
61
|
+
|
|
62
|
+
```sh
|
|
63
|
+
npm install -g carthagent@1.1.0-preview.13
|
|
64
|
+
npm install -g --install-links=true github:B-icy/Carthagent#v1.1.0-preview.13
|
|
65
|
+
```
|
|
66
|
+
|
|
67
|
+
`ctg update --channel stable` returns to stable 1.0.7 without `--force`. See
|
|
68
|
+
the [upgrade guide](native-upgrade.md) for profile preservation.
|
|
@@ -0,0 +1,130 @@
|
|
|
1
|
+
# 1.1.0-preview.9 release candidate
|
|
2
|
+
|
|
3
|
+
> **UNPUBLISHED — candidate guidance, not a release announcement.** No tag,
|
|
4
|
+
> draft creation, asset upload, or publication is part of candidate preparation.
|
|
5
|
+
> Published-channel updates cannot install this prebuild. Final-tag acceptance
|
|
6
|
+
> and release-owner approval remain required before publication.
|
|
7
|
+
|
|
8
|
+
## What this candidate contains
|
|
9
|
+
|
|
10
|
+
- **Native by default**, inherited from preview.8. `ctg native` remains a
|
|
11
|
+
compatibility alias; `CTG_NATIVE` no longer selects another console. Stable
|
|
12
|
+
1.0.7 remains the legacy release. The owned runtime and private CTG profile
|
|
13
|
+
remain separate from regular OpenCode installations and credentials. Legacy
|
|
14
|
+
Pi sessions remain read-only archives, not resumable native sessions.
|
|
15
|
+
- **Ship versus Lite:** Ship retains approval, checks, review, repair, recovery,
|
|
16
|
+
and resume delivery workflow; Lite is direct execution. This is not a claim of
|
|
17
|
+
complete behavioral parity across all interfaces or platforms.
|
|
18
|
+
- **Native Voyages (PR #225):** `/voyages` exposes profile customization, wallet,
|
|
19
|
+
equipment and shop. Normal `/login` browser device approval binds the CLI to
|
|
20
|
+
the approving user's existing web player, which remains authoritative. There
|
|
21
|
+
is no separate CLI wallet, cookie import, paid-model requirement, or coding
|
|
22
|
+
coin award. Older account-only credentials may need a new device sign-in.
|
|
23
|
+
- **Explicit mutations:** customization and equipment changes require
|
|
24
|
+
confirmation. A paid purchase requires a server quote with price and expiry,
|
|
25
|
+
followed by explicit confirmation. Cancel does not purchase. Ownership,
|
|
26
|
+
funds, eligibility and profile version are checked by the server; refresh on
|
|
27
|
+
conflicts rather than overwriting another client. Equip separately after
|
|
28
|
+
purchase. An uncertain purchase retains its pending request across restart:
|
|
29
|
+
recover using the same quote and request key, not a new purchase or deleted
|
|
30
|
+
profile state. Signed-out/unavailable data is not a saved balance.
|
|
31
|
+
- **Credential refresh identity and coordination fixes** preserve account
|
|
32
|
+
identity boundaries and coordinate refreshed credentials rather than treating
|
|
33
|
+
unrelated identity or stale state as a successful refresh.
|
|
34
|
+
- **PTY and Windows cleanup fixes** preserve full-duplex terminal input and
|
|
35
|
+
coherent paint snapshots, and verify fixture browser cleanup against captured
|
|
36
|
+
process identities. Passing source tests is not proof
|
|
37
|
+
of every physical terminal or operating-system UI interaction.
|
|
38
|
+
|
|
39
|
+
## Candidate provenance
|
|
40
|
+
|
|
41
|
+
| Input | Exact value |
|
|
42
|
+
| --- | --- |
|
|
43
|
+
| Package candidate | `1.1.0-preview.9` |
|
|
44
|
+
| Prebuild source | `c51c5ae11293e63b658df297abc732db88d9109a` |
|
|
45
|
+
| Prebuild workflow run | `40151970983` |
|
|
46
|
+
| Candidate manifest SHA-256 | `aa5de65b633219423d21b1cc645945028a2d5565714b71760cbcc18badc5f4e5` |
|
|
47
|
+
| Upstream revision | `843a6c514e606b436a7fe713422ace0a93ad3d61` |
|
|
48
|
+
| CTG patch SHA-256 | `b4238d77827d7ccf8f87fb0326551eaa62268d9387cd89e29bd0cf12bd6dafaa` |
|
|
49
|
+
| Lock SHA-256 | `9d78379cd264584a495440a217b9d2ecab524c9a56f7f8b4b5bed3926daa330d` |
|
|
50
|
+
| Detached runtime version | `0.0.0-ctg.2.0.32` (compatibility `2.0.32`) |
|
|
51
|
+
|
|
52
|
+
All five native builds (Linux x64/arm64, macOS x64/arm64, Windows x64) and
|
|
53
|
+
assembly succeeded. The **original 13-file prebuild bundle** was independently
|
|
54
|
+
verified through the production acquirer; manifest regeneration was
|
|
55
|
+
byte-identical. Upstream, patch, lock, and detached runtime identity are
|
|
56
|
+
unchanged from preview.8. The prebuild source above is not the final release
|
|
57
|
+
package commit: package/lock, complete generated manifest, and candidate docs
|
|
58
|
+
must be reviewed together before any final tag is selected.
|
|
59
|
+
|
|
60
|
+
Archive/provenance verification is not execution acceptance. The new Linux
|
|
61
|
+
ARM64 bytes passed isolated staged native-host and Ship-model probes, including
|
|
62
|
+
plugin/RPC contracts, device-flow start/cancel, model discovery, service stop,
|
|
63
|
+
and fixture cleanup. These use an explicit reviewed-artifact selector, not the
|
|
64
|
+
installed package's default resolver. Independent execution on the other four
|
|
65
|
+
targets and full final-tag installed acceptance remain pending. Earlier preview.8
|
|
66
|
+
source and artifact evidence remains historical and is not blanket acceptance
|
|
67
|
+
for preview.8 or preview.9.
|
|
68
|
+
|
|
69
|
+
## Recorded acceptance and its limits
|
|
70
|
+
|
|
71
|
+
The following supplied source/development-runtime results precede final-tag
|
|
72
|
+
release acceptance; they are not a claim that candidate-document edits reran CI.
|
|
73
|
+
|
|
74
|
+
| Scope | Recorded outcome |
|
|
75
|
+
| --- | --- |
|
|
76
|
+
| Final source quality, Linux | 934 tests: 929 passed, 5 skipped |
|
|
77
|
+
| Windows-only cases | Four of the Linux-skipped cases actually passed Windows CI |
|
|
78
|
+
| Python | 28 passed |
|
|
79
|
+
| Local ARM full required-owned/default-resolver gate | 28 probes, 0 failures, 0 skips |
|
|
80
|
+
| Exact source PR CI and main CI | All eight checks passed in each |
|
|
81
|
+
|
|
82
|
+
The local ARM result does not establish independent execution of the new
|
|
83
|
+
preview.9 prebuild bundle or its future final-tag public assets.
|
|
84
|
+
|
|
85
|
+
Live **actual TUI development-runtime** testing covered browser device approval,
|
|
86
|
+
name cancellation and save, owned Beanie equip, restart, web persistence,
|
|
87
|
+
expiry recovery, and revocation. The web player was authoritative. The user's
|
|
88
|
+
wallet contained **10 coins**, with no affordable paid quote: **no live paid
|
|
89
|
+
debit or paid-request replay was proven**. Do not turn pending-recovery test
|
|
90
|
+
coverage into a claim of a real paid purchase.
|
|
91
|
+
|
|
92
|
+
Actual **60x12** terminal navigation was functional, not model-based visual
|
|
93
|
+
approval. Physical clipboard behavior is not proven. Full cross-OS UI and
|
|
94
|
+
controlled paired performance remain unknown. There is no full behavior-parity,
|
|
95
|
+
lower-token/cost, or paid-model benchmark claim.
|
|
96
|
+
|
|
97
|
+
## Trying the candidate and remaining release gates
|
|
98
|
+
|
|
99
|
+
Before publication, use the matching prebuild archives and independently pinned
|
|
100
|
+
candidate manifest through the [explicit manual-kit artifact method](native-manual-testing.md).
|
|
101
|
+
Do not replace trust hashes to accept other bytes or expect the public default
|
|
102
|
+
resolver to find unpublished assets. Provider-free fixtures are scripted, not
|
|
103
|
+
model-quality evidence; live provider use requires deliberate credential and
|
|
104
|
+
spending authorization.
|
|
105
|
+
|
|
106
|
+
Only **after** `v1.1.0-preview.9` and its reviewed runtime assets are published:
|
|
107
|
+
|
|
108
|
+
```sh
|
|
109
|
+
npm install -g --install-links=true github:B-icy/Carthagent#v1.1.0-preview.9
|
|
110
|
+
# Or, from an installation supporting channels:
|
|
111
|
+
ctg update --channel experimental --check
|
|
112
|
+
ctg update --channel experimental
|
|
113
|
+
```
|
|
114
|
+
|
|
115
|
+
Experimental selection follows published semantic versions and may select a
|
|
116
|
+
later release; use the exact tag when reproducing preview.9. Drafts are never
|
|
117
|
+
updates, and prereleases do not advance the stable control-plane pointer.
|
|
118
|
+
See the [upgrade guide](native-upgrade.md) for non-destructive source checkout,
|
|
119
|
+
profile preservation, and stable-channel recovery.
|
|
120
|
+
|
|
121
|
+
Still pending: independently execute the other four platform outputs; review the final
|
|
122
|
+
package and manifest; obtain separate approval for the tag/draft/upload steps;
|
|
123
|
+
run full final-tag required-owned installed acceptance against the draft using
|
|
124
|
+
the normal resolver; obtain publication approval; then prove anonymous public
|
|
125
|
+
default-resolver installed acceptance. No backend edits or publication actions
|
|
126
|
+
are included in this version/pins/documentation candidate update.
|
|
127
|
+
|
|
128
|
+
The [older native migration draft](release-notes-native-draft.md) is preserved
|
|
129
|
+
unchanged as historical planning material, including its old opt-in routing and
|
|
130
|
+
unreleased-version assumptions. It is not current candidate installation guidance.
|