chore: migrate repo to TaraxioT org, free-tier CI, and deterministic re-probe test - #4
chore: migrate repo to TaraxioT org, free-tier CI, and deterministic re-probe test#40xgeorgemathew wants to merge 311 commits into
Conversation
Co-authored-by: Julius Marminge <51714798+juliusmarminge@users.noreply.github.com>
…ngdotgg#6495) Co-authored-by: Simone <185146821+Lucenx9@users.noreply.github.com>
Co-authored-by: t3-code[bot] <236186684+t3-code[bot]@users.noreply.github.com> Co-authored-by: Wout Stiens <71498452+StiensWout@users.noreply.github.com>
…ingdotgg#6520) Co-authored-by: Claude Opus 5 <noreply@anthropic.com>
Co-authored-by: t3-code[bot] <269035359+t3-code[bot]@users.noreply.github.com> Co-authored-by: maria <254055478+maria-rcks@users.noreply.github.com>
Co-authored-by: codex <codex@users.noreply.github.com> Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
Co-authored-by: codex <codex@users.noreply.github.com>
…gdotgg#6549) Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
…sar (pingdotgg#5877) Co-authored-by: tsouth89 <tsouth89@users.noreply.github.com> Co-authored-by: t3-code[bot] <t3-code[bot]@users.noreply.github.com> Co-authored-by: Utkarsh Patil <73941998+UtkarshUsername@users.noreply.github.com> Co-authored-by: Shivam Sharma <91240327+shivamhwp@users.noreply.github.com>
…gg#6325) Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
…the app bar (pingdotgg#6587) Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
Co-authored-by: Claude Fable 5 <noreply@anthropic.com> Co-authored-by: Julius Marminge <julius0216@outlook.com>
Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
…ingdotgg#6592) Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
There was a problem hiding this comment.
Reviewed the web UI surface of this sync against the shared component system and Tailwind/theme ownership rules.
What checks out:
MissionLivePanel's log rows and order legs now usePopover+PopoverTrigger openOnHoverwith the namedtooltipStylepopup variant instead of a nativetitleon a non-interactive element, so the detail is reachable by keyboard and touch — this resolves the finding from the previous run.- The remaining native
titleattributes inapps/web/src/components/trading/**carry explicitoxlint-disable-next-line t3code/no-native-title-tooltipdirectives with a stated reason, which is a documented deferral rather than a silent evasion. BrowserDeviceToolbarmoves its aspect-ratio hint fromtitletoTooltip/TooltipPopupwhile keeping theButton variant="ghost" size="icon-xs"primitive andaria-pressed.- The
index.cssrestructure keeps the mask/fade contracts intact:topbar-scroll-fadeandvirtualized-scroll-fadeboth preserve the opaque scrollbar lane, and every retired selector (settings-page-scroll-fade,workspace-titlebar-controls,sidebar-brand) has its replacement consumer (data-settings-page-scroll,data-workspace-titlebar-controls,SidebarChrome/sidebar.tsx) in this diff. - The new
_chat.pull-requests.tsxroute composesui/*primitives throughout — no rawbutton/inputreconstructions.
One finding below, on the new fork-owned stylesheet.
Posted via Macroscope — UI Consistency
…ink follows the theme Co-authored-by: Codesmith <codesmith-bot@users.noreply.github.com>
…sync due Co-authored-by: Codesmith <codesmith-bot@users.noreply.github.com>
There was a problem hiding this comment.
Reviewed the changed web UI surfaces against the shared component system and Tailwind ownership rules.
The index.css → owner/utility split, trading.css (now on @variant dark/light), the new virtualized-scroll-fade contract, the source-level MenuPopup width defaulting, and the new compact/micro/icon-micro/ghost-muted/glass primitive variants all look consistent, and the previously native-title tooltips are now real Tooltips (with t3code/no-native-title-tooltip enforced).
Two findings in the new pull-request UI, where controls are hand-rolled instead of going through Button. Both matter beyond style: Tailwind v4's preflight gives a bare <button> cursor: default, and buttonVariants is what restores cursor-pointer, the pointer-coarse 44px hit target and disabled:opacity-64 — so these controls behave differently from every other control in the app.
Posted via Macroscope — UI Consistency
There was a problem hiding this comment.
Reviewed the changed web UI surfaces against the shared component system and Tailwind ownership rules.
The index.css → owner/utility split, trading.css (now on @variant dark/light), the new virtualized-scroll-fade contract, the source-level MenuPopup width defaulting, and the new compact/micro/icon-micro/ghost-muted/glass primitive variants all look consistent, and the previously native-title tooltips are now real Tooltips (with t3code/no-native-title-tooltip enforced).
Two findings in the new pull-request UI, where controls are hand-rolled instead of going through Button. Both matter beyond style: Tailwind v4's preflight gives a bare <button> cursor: default, and buttonVariants is what restores cursor-pointer, the pointer-coarse 44px hit target and disabled:opacity-64 — so these controls behave differently from every other control in the app.
Posted via Macroscope — UI Consistency
Co-authored-by: Codesmith <codesmith-bot@users.noreply.github.com>
…ed origin The relay's only expensive dependency was a retained PlanetScale PS_20 cluster with two read replicas, even though the relay is not in the data path — it is touched at link time, at connect time, on status polls, and on APNs delivery. The database now lives on our own Postgres 17 in Oracle Ashburn, reached from the edge through Hyperdrive, Cloudflare Access and an existing Cloudflare Tunnel. `RelayHyperdrive` builds its origin from RELAY_DB_* config instead of a PlanetScale runtime role. The Access origin carries no port — the tunnel's TCP ingress owns it. `relayDatabaseMode`'s shared-database/stage-branch split is gone with the branches it described; `relayDatabaseName` gives every stage its own database on the one server. `RelaySchema` still runs at deploy time so schema drift keeps regenerating migration SQL, and `migrationsSnapshot` now reports its hash. Smart Placement is on, so the connect path's sequential queries run beside the origin. schema.ts, environments/, agentActivity/, auth/ and http/Api.ts are untouched, which is the point: this keeps the fork's upstream syncs cheap. Model: Claude Opus 5. Harness: Claude Code. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Planetscale.PostgresDatabase used to apply migrations/postgres on every deploy, connecting from the deploy host. The self-hosted origin is only reachable through Cloudflare Access, so scripts/migrate.ts opens a short-lived `cloudflared access tcp` session with the admin service token, runs the migrations as t3relay_owner, and lets the scope kill the session on success, failure and interrupt alike. The apply algorithm is upstream's, and it reuses alchemy's own listSqlFiles so file ids and hashes keep upstream's semantics. The port is ephemeral because CI runs concurrent jobs. planMigrations and nextMigrationSeq are pure so the ordering and the skip rule are tested without a database. deploy.ts runs migrations before Apply, so the Worker cannot boot against a database missing a table it queries, and a failed migration aborts the deploy. --skip-migrations exists for Worker-only changes when the origin is unreachable, and defaults to off so typing nothing is the safe path. The relay gets no migrate route: it is an authentication service and does not need a privileged DDL endpoint. Model: Claude Opus 5. Harness: Claude Code. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
The example still described PlanetScale-shaped configuration. It now covers the six RELAY_DB_* keys: the Worker's read/write runtime role that Hyperdrive connects with, and the schema owner that scripts/migrate.ts uses over `cloudflared access tcp`. Also records two things that otherwise look like mistakes: the origin has no port because the tunnel's TCP ingress supplies it, and a deployment with no mobile client still needs APNS_* values, so obviously-fake ids and a throwaway key are the intended answer rather than lost credentials. Model: Claude Opus 5. Harness: Claude Code. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
The hero screenshot and the pinned console were an AI-generated fake and an abstract diagram. Both are gone. One hand-built recreation of the desktop cockpit (titlebar, thread sidebar, agent log, chart card, live position panel) now sits under the hero and pins for the story: the page dims around it while the log fills, the watch arms and fires, seventeen checks pass, the stop rests, the drawdown holds, and the target prints, all on CSS scroll timelines. Mobile plays the same beats un-pinned on a compressed cover pass. Dark theme gains contrast and colour: the site now wears the app's own profit/loss/armed inks, the primary button is profit green, and the hero carries one accent glow. Metadata gains theme-color and OG tags. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Fact-checked against the trading harness rendering the real MissionLivePanel: the invented console grammar is gone. The window now carries the app's own arrangement - chart card with a price line over an area wash, a projection wedge, level chips docked in the right gutter, a POSITIONS card in the ledger's columns, the AGENT LOG card with its blue progress rule, the status bar, and the composer with the model chips - plus the sidebar and thread breadcrumb chrome. The price line, its wash, and the live dot riding the stroke draw along keyframes generated from the path's measured length, so every story beat lands on the exact fraction of ink it owns. The live tape moved back under the hero. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Alchemy evaluates a Hyperdrive connection's dev origin while building the plan, not only when running in dev mode, and it refuses an Access-fronted origin that has none. Without this the prod deploy fails during planning with "has an origin that requires Cloudflare Access. This is not supported in development mode." The dev origin points at loopback, which is where an operator's own `cloudflared access tcp` session lands, so local development reaches the same database by the same route the deploy does. Model: Claude Opus 5. Harness: Claude Code. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
The fork already owns its identity everywhere else - bundle id com.t3trades.app, the name "T3 Trade (Alpha)", its own relay and hosted app - but it still registered upstream's t3code:// scheme. Installed beside an upstream build, both claim the same scheme and macOS picks a winner, so a Clerk OAuth callback can be delivered to the wrong app. The scheme is now t3trade:// (t3trade-dev:// in development). Both the electron-builder protocol declarations and the launcher's runtime registration had to change; the plist is generated from the former, so patching only the latter leaves the packaged app on the old scheme. The server keeps accepting the upstream renderer origins, so an upstream-configured desktop build can still reach a local server. Data-directory and window-class names keep the t3code spelling on purpose: renaming those would orphan existing state for no benefit. Model: Claude Opus 5. Harness: Claude Code. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Installing T3 Trade next to upstream T3 Code broke both. They shared `~/.t3`, so one `state.sqlite` had two writers. They shared the Electron user-data directory, which is where Electron keeps the single-instance lock, so launching the second app just focused the first and yours appeared not to start. Neither failure said anything; both hit a new user on their first run. The forked names now live in `packages/shared/src/forkPaths.ts` and the call sites import them: `~/.t3trade` for data, `t3trade` / `t3trade-dev` for `userData`. The same treatment goes to every other name that reaches a shared namespace: the boot service unit and its launchd label, the Linux desktop entry and WM class, the URL-handler entry, the ssh-askpass directory and the WSL markers. `T3CODE_HOME` deliberately keeps its name. It is opt-in, so a rename would touch every call site and buy nothing. The ports need no fork either: desktop already scans upward from 3773, the dev runner from 13773, and the desktop session cookie is already port-scoped. Also fixes six desktop tests that had been failing since 02c98da3e, which changed the URL scheme on a typecheck alone. One of them was pointing at a real bug: the Linux URL-handler entry was still hardcoded `t3code-url-handler.desktop`. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
The root had grown five plan documents, a 566 KB soak report and two verification write-ups. The three landed plans join the eleven already archived under artifacts/plans/. The soak report moves to artifacts/investigations/, which is ignored, and the two scripts that write it now point there. Plan 41 and its prompts stay at the root, where the existing ignore rule already covers them: plan 41 is unfinished, and its notes map the fork's own relay infrastructure. Agent briefs get the same rule for the same reason, since this repository is public. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
…unning BTC The replica approximated the app's trading cockpit; measured side by side against the live panel and the Electron app it differed in glass material, typography, geometry, ink, motion grammar, and app chrome. Rebuilt the window as a 1:1 app surface with the app's computed values and font stacks, coupled the chart animations to the app's beat table, added the missing chrome (header controls, sidebar anatomy, minimap rail, glass composer), moved the narrative to BTC at the current spot, and made the ticker a compositor-smooth time-driven loop. Done with ZCode (GLM-5.3) driving a multi-agent measure/fix/verify pipeline.
The archived plan documents and the two relocated server scripts were never run through the formatter, so the Check job failed on five files. Applying vp fmt leaves the content untouched. Co-authored-by: Codesmith <codesmith-bot@users.noreply.github.com>
…heme 8c821d2 moved the electron-builder protocol declarations to t3trade:// and t3trade-dev:// but left both build-config assertions on the upstream spelling, so the scripts suite failed on the mac and linux protocol lists. Co-authored-by: Codesmith <codesmith-bot@users.noreply.github.com>
| Purpose: accumulate a corpus of decision-quirk, UI-bug, and discrepancy data | ||
| by running these prompts repeatedly; Claude analyzes the bundles later. Each | ||
| run appends one timestamped directory under `artifacts/investigations/` | ||
| (gitignored — the data never enters git). Shared rules live in |
There was a problem hiding this comment.
🟠 High plans/Executables.md:68
Every G1–G6 execution fails at mandatory step 0 because artifacts/investigations/G-RULES.md is required but is absent from the reviewed tree; workers therefore have no Protection rules before they are instructed to start isolated trading missions. Add and track the shared rules file (or provide it through a guaranteed bootstrap) before these prompts can be executed safely.
🚀 Reply "fix it for me" or copy this AI Prompt for your agent:
In file @artifacts/plans/Executables.md around line 68:
Every G1–G6 execution fails at mandatory step 0 because `artifacts/investigations/G-RULES.md` is required but is absent from the reviewed tree; workers therefore have no Protection rules before they are instructed to start isolated trading missions. Add and track the shared rules file (or provide it through a guaranteed bootstrap) before these prompts can be executed safely.
Evidence trail:
artifacts/plans/Executables.md:68-70, 97-100, 134-140, 186-190, 223-227, 270-274, 309-313, 353-357 @ a9ffeb09343e899d0f8f5738c65f8352bec436ff; repository lookup: artifacts/investigations/G-RULES.md at REVIEWED_COMMIT (not found); git grep "G-RULES|bootstrap" REVIEWED_COMMIT
| | `reserved` | `queued` | muted, no figures yet | | ||
| | `submitted` / `accepted` | `working` | armed amber, limit price live | | ||
| | filled `0 < f < size` | `partial` | armed amber + fill track | | ||
| | `filled`, opening leg, still held | `open` | info, **live** mark/P&L/fee | |
There was a problem hiding this comment.
🟡 Medium plans/plan-39-orders-in-positions.md:171
The planned open row cannot display truthful live P&L per opening leg: the available live position only provides aggregate P&L, so scaled entries at different prices have no basis for allocation (for example, $100 and $200 buys at a $150 mark are +$50 and -$50 while the aggregate is $0). Define a lot-allocation rule such as FIFO and expose the required per-lot entry data, or change the row requirement to show aggregate P&L.
🚀 Reply "fix it for me" or copy this AI Prompt for your agent:
In file @artifacts/plans/plan-39-orders-in-positions.md around line 171:
The planned `open` row cannot display truthful live P&L per opening leg: the available live position only provides aggregate P&L, so scaled entries at different prices have no basis for allocation (for example, $100 and $200 buys at a $150 mark are +$50 and -$50 while the aggregate is $0). Define a lot-allocation rule such as FIFO and expose the required per-lot entry data, or change the row requirement to show aggregate P&L.
Evidence trail:
artifacts/plans/plan-39-orders-in-positions.md:160-172 @ a9ffeb09343e899d0f8f5738c65f8352bec436ff
apps/web/src/components/trading/tradingPresentation.ts:2645-2665, 2680-2715, 2750-2776 @ a9ffeb09343e899d0f8f5738c65f8352bec436ff
| If you can call the Agent tool you are the orchestrator: delegate the | ||
| steps below, make every spawn prompt self-contained, and copy the | ||
| Protection rules into each delegation verbatim. | ||
| 1. Same setup and mission start as G1 steps 1-3 (agent-discretion mandate, |
There was a problem hiding this comment.
🟠 High plans/Executables.md:229
G3 can block forever before the audit loop, server shutdown, and report generation when its discretionary mission stands aside without publishing a plan. Add a bounded wait with a failure/NOT-EXERCISED path that still performs cleanup and writes the required report.
🚀 Reply "fix it for me" or copy this AI Prompt for your agent:
In file @artifacts/plans/Executables.md around line 229:
G3 can block forever before the audit loop, server shutdown, and report generation when its discretionary mission stands aside without publishing a plan. Add a bounded wait with a failure/`NOT-EXERCISED` path that still performs cleanup and writes the required report.
Evidence trail:
artifacts/plans/Executables.md:145-155, 217-231 at c2d2c9f698; git blame REVIEWED_COMMIT -- artifacts/plans/Executables.md -L 217,231
| 4. Let it run at least 60 minutes, at most 2 hours. Do not message the | ||
| thread again. The agent runs server-side on its own wakes; if no harness | ||
| run appears within 10 minutes of the first message, save the server log | ||
| to evidence/, record the failure, and go to step 8. |
There was a problem hiding this comment.
🟡 Medium plans/Executables.md:155
When no harness run appears within 10 minutes, the executor jumps from step 4 to step 8, so it never stops the dev server or copies the isolated state.sqlite; failed runs therefore leak the server/process and omit the reproduction evidence. Route this failure path through explicit cleanup and database capture before reporting the failure.
🚀 Reply "fix it for me" or copy this AI Prompt for your agent:
In file @artifacts/plans/Executables.md around line 155:
When no harness run appears within 10 minutes, the executor jumps from step 4 to step 8, so it never stops the dev server or copies the isolated `state.sqlite`; failed runs therefore leak the server/process and omit the reproduction evidence. Route this failure path through explicit cleanup and database capture before reporting the failure.
Evidence trail:
artifacts/plans/Executables.md:152-173, c2d2c9f698
…t checks its PIDs Plan 40's Prompt 2 merged the moving upstream/main while Prompt 3 tagged beab688 as the new baseline, so any nightly landing mid-sync would have dropped out of the recorded ancestry; the gate also read as all of Plan 39 when only Phase 0 precedes the sync. The soak-end checklist now verifies a PID still belongs to the soak before stopping it. Co-authored-by: Codesmith <codesmith-bot@users.noreply.github.com>
|
|
||
| 1. Stop the soak harness and monitor (PIDs 31356 / 58649). | ||
| 2. Stop the WORKSPACE archiver (PID 8537 → .t3/userdata/market-archive.sqlite). | ||
| Keep the ~/.t3 archiver (PID 78836, restarted 2026-08-20) running — it is |
There was a problem hiding this comment.
🟡 Medium plans/Executables.md:425
Following this checklist keeps the ~/.t3 archiver running while potentially stopping T3 Trade's canonical ~/.t3trade archiver, so market data collection stops for this fork and an unrelated upstream process is retained. Update the preserved archiver path to ~/.t3trade.
🚀 Reply "fix it for me" or copy this AI Prompt for your agent:
In file @artifacts/plans/Executables.md around line 425:
Following this checklist keeps the `~/.t3` archiver running while potentially stopping T3 Trade's canonical `~/.t3trade` archiver, so market data collection stops for this fork and an unrelated upstream process is retained. Update the preserved archiver path to `~/.t3trade`.
Evidence trail:
artifacts/plans/Executables.md:414-427 (REVIEWED_COMMIT)
apps/server/src/trading/archive/config.ts:105-113 (REVIEWED_COMMIT)
packages/shared/src/forkPaths.ts:15-20 (REVIEWED_COMMIT)
README.md:137-164 (REVIEWED_COMMIT)
| Investigation run G1 for the T3 Trades repo. Data first: every defect gets a | ||
| Finding with evidence before you fix it. Fixes are allowed per G-RULES. | ||
|
|
||
| 0. Read artifacts/investigations/G-RULES.md and |
There was a problem hiding this comment.
🟡 Medium plans/Executables.md:134
The G1–G4/G6 prompts point executors to the nonexistent .claude/skills/test-t3-app/SKILL.md, so their mandatory first step fails and they never receive the isolation or browser-handling rules required by later steps. Update each reference to the versioned .agents/skills/test-t3-app/SKILL.md path.
🚀 Reply "fix it for me" or copy this AI Prompt for your agent:
In file @artifacts/plans/Executables.md around line 134:
The G1–G4/G6 prompts point executors to the nonexistent `.claude/skills/test-t3-app/SKILL.md`, so their mandatory first step fails and they never receive the isolation or browser-handling rules required by later steps. Update each reference to the versioned `.agents/skills/test-t3-app/SKILL.md` path.
Evidence trail:
artifacts/plans/Executables.md:134-135, 186-187, 223-224, 270-271, 353-354 at 885fad79a08c2a8ad96e900538e599d8da375e7a; repository glob at REVIEWED_COMMIT: `.agents/skills/test-t3-app/SKILL.md` exists and no `.claude/skills/test-t3-app/SKILL.md` match exists.
There was a problem hiding this comment.
Effect service conventions review, scoped to the Effect service code this PR adds under apps/**, packages/**, infra/**.
The new server-side pull-request stack (apps/server/src/pullRequest/*) and apps/desktop/src/wsl/DesktopWslServerTree.ts follow the canonical layout (subpath namespace imports, inline Context.Service interface, exported make, export const layer), so no findings there. Two deviations in the newly added client-runtime pull-request service module are noted inline.
Posted via Macroscope — Effect Service Conventions
| export const pullRequestDiffLoaderLayer: Layer.Layer< |
There was a problem hiding this comment.
pullRequestDiffLoaderLayer erases the module namespace for what is otherwise a canonical single-service module. Suggest exporting the construction as make and the layer as layer, so consumers read PullRequestDiffHttp.PullRequestDiffLoader / PullRequestDiffHttp.layer.
This pairs with the individual re-export in state/pullRequests.ts (export { PullRequestDiffLoader, pullRequestDiffLoaderLayer } ...), which could become export * as PullRequestDiffHttp from "./pullRequestDiffHttp.ts" to keep the module shape intact.
Posted via Macroscope — Effect Service Conventions
| export class EnvironmentHttpConnectionNotReadyError extends Data.TaggedError( | ||
| "EnvironmentHttpConnectionNotReadyError", | ||
| )<{ readonly message: string }> {} |
There was a problem hiding this comment.
This new service failure stores an unstructured message as its only data. Consider declaring it with Schema.TaggedErrorClass and deriving message — the tag alone identifies this failure, so it needs no fields.
-export class EnvironmentHttpConnectionNotReadyError extends Data.TaggedError(
- "EnvironmentHttpConnectionNotReadyError",
-)<{ readonly message: string }> {}
+export class EnvironmentHttpConnectionNotReadyError extends Schema.TaggedErrorClass<EnvironmentHttpConnectionNotReadyError>()(
+ "EnvironmentHttpConnectionNotReadyError",
+ {},
+) {
+ override get message(): string {
+ return "The environment HTTP connection is not ready.";
+ }
+}That also needs import * as Schema from "effect/Schema", and the construction in the diff atom becomes new EnvironmentHttpConnectionNotReadyError({}).
Posted via Macroscope — Effect Service Conventions
Every workflow in this repo ran on Blacksmith runners and fed the blacksmith-sh and macroscopeapp org installations. The repo now ships no GitHub Actions definitions; the workflows were already disabled at the GitHub level before this commit.
| not a replica. A page that is 100% simulation is a fake-screenshot page no | ||
| matter how good the simulation is. | ||
| - `docs/media/t3trade-mission.png` is an AI-generated fake with gibberish text; | ||
| never ship it. `public/t3trade-screenshot.webp` was already removed from the |
There was a problem hiding this comment.
🟡 Medium marketing/DESIGN-CONTRACT.md:63
The claim that public/t3trade-screenshot.webp and docs/media/t3trade-mission.png have no remaining references is false: scripts/build-t3trade-themed-assets.py still generates both files. Running the asset rebuild therefore recreates the explicitly prohibited fake images, so remove or update those generator targets instead of only deleting the outputs.
🚀 Reply "fix it for me" or copy this AI Prompt for your agent:
In file @apps/marketing/DESIGN-CONTRACT.md around line 63:
The claim that `public/t3trade-screenshot.webp` and `docs/media/t3trade-mission.png` have no remaining references is false: `scripts/build-t3trade-themed-assets.py` still generates both files. Running the asset rebuild therefore recreates the explicitly prohibited fake images, so remove or update those generator targets instead of only deleting the outputs.
Evidence trail:
apps/marketing/DESIGN-CONTRACT.md:62-65 at REVIEWED_COMMIT; scripts/build-t3trade-themed-assets.py:7, 141-212 at REVIEWED_COMMIT; .gitignore:58-61 at REVIEWED_COMMIT; git diff MERGE_BASE..REVIEWED_COMMIT -- apps/marketing/DESIGN-CONTRACT.md
.macroscope/ arrived with the v0.0.34 sync as config for the macroscopeapp check-run agents; the org is dropping Blacksmith and Macroscope, so the directory is dead weight. Both this deletion and the earlier workflow removal are now recorded in the patch ledger so the next sync knows they are expected to conflict.
|
Closing: this was a review-only PR ( The free-tier-CI portion of the description is also stale — Outstanding review findings are on files outside the migration commits and will be handled separately. |
Problem
The repo moved from
0xgeorgemathew/t3tradeto theTaraxioTorg, but 16+ tracked references still pointed at the old location, the install doc pointed users at upstream releases,release.ymlhid GitHub-hosted macOS/Windows matrix entries that would burn non-free runner minutes if dispatched, and theProviderRegistrycodex re-probe test flaked on 2-vCPU CI runners (2 of 4 runs today).What this does
47ee6d903— point all repo links (README, marketing constants, installer, server package metadata, upstream docs) atTaraxioT/t3trade; upstreampingdotgg/t3codeattribution untouched.0a754c0fc— comment outrelease.yml's native-OS build matrix entries so a dispatch can't run paid GitHub-hosted macOS/Windows jobs. All 30 activeruns-onacross 12 workflows are nowblacksmith-2vcpu-ubuntu-2404(free tier); no cron schedules remain.348c5d923— replace the re-probe test's budgeted poll with aDeferredawaited on the real spawn's exit; verified 15x locally plus CPU-pressure runs and green twice on the 2-vCPU runner.3f116f6ce— install doc: fork releases link + clarify winget/brew/AUR deliver upstream T3 Code.Note: base branch
review/base-pre-migrationis pinned at the pre-migration commita6cad93a2so this PR shows exactly the migration diff; merge target in practice is keepingmainas-is.Work performed by GLM-5.3 via the ZCode harness.
Need help on this PR? Tag
@codesmith-botwith what you need. Autofix is enabled.Note
Add full pull request system, mobile theming overhaul, and migrate repo to TaraxioT org
PullRequestServicewith caching and rate-limit handling, HTTP diff endpoint, client-runtime atom families, and a full web PR route with list/detail/timeline/summary tabs, review threads, reactions, and reviewer managementuseColorSchemewithuseAppearancePreferencesthroughout, addsMobileThemeIdselection with per-appearance light/dark themes, native diff/editor theming viacreateNativeReviewDiffTheme, and showcase capture theme coordinationt3codetoTaraxioT/t3trade: renames Electron protocol schemes, Linux WM class/desktop entries, SSH askpass dir, WSL markers, installer URLs, and sharedT3_HOME_DIR_NAMEconstantQuitHold), favicon capture pipeline, remote editor deep-link support (buildRemoteOpenUrl), and preview tab zoom/appearance defaultssidebar-filter-button.tsxandsidebar-header-actions.tsxreferenceuseThemeColorwithout importing it, causing runtime errors;trading-contracts/src/observation.tsrenames funding fields (mean→meanPer8h,latestRate→latestRatePer8h) which is a breaking schema change for consumers;CloudCliOAuthConfigshape changes (authorizationEndpointremoved,loopbackPortadded)Macroscope summarized bdf852f.