Skip to content

Commit a3605ef

Browse files
V48 Gate 3 (implementation-only): all-square theme, no double-nesting, and one-row layout pass across the deposit/read product surfaces
Square theme: every rounded-* corner stripped across the product surfaces (transactions table stack, filter bar, overview, pagination, active filters, tooltips, pills, payload/detail panels, VCS selectors, source selection, execution log chrome, SearchableSelect trigger + popover). Genuinely circular effects stay (orbital background, execute-button glow circles). No double-nesting: the pipelines surface renders the table shell FLAT (the page section owns the card + header; no second border/title/ summary), filter cells drop their card chrome around bordered controls, the telemetry detail wrappers flatten inside the pipelines sections (deposits + reads, incl. the reads run summary), branch/commit cells drop card chrome, and session/authority/earning/proof rows become divider rows instead of boxes-in-cards. One-row layouts: search is the first filter card in the mosaic (no full-width span); the overview stat chips + state pills form one wrapping row above the table; pagination is one row; active filters are one row (count · chips · clear-all, replacing the posture card AND the filter bar's duplicate reset button); provider · repository · branch · commit form one four-column row; source path hints + protected IP exclusions pair on one row. Deposit page polish: source path hints are a PLACEHOLDER (no prefilled example values), the aside Earnings/Governance/Session cards are non-collapsible sections (inner disclosures stay collapsible), the 'Open pack activity' button is removed, and the synthesis pipeline pill word-spaces its camel-cased id ('DEPOSIT ASSET PACK OPTION SYNTHESIS'). Tests updated for the new copy/selectors (active-filters row, detail cards anchored on the panel root, step-grid removal untouched). Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
1 parent 3a8baed commit a3605ef

52 files changed

Lines changed: 271 additions & 292 deletions

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

uapi/app/deposits/DepositPageClient.tsx

Lines changed: 28 additions & 36 deletions
Original file line numberDiff line numberDiff line change
@@ -157,12 +157,7 @@ export default function DepositPageClient() {
157157
const [obfuscations, setObfuscations] = useState(
158158
"Note anything to obfuscate or withhold from the synthesized options: internal names, proprietary framing, or sensitive specifics the source-safe AssetPacks should avoid surfacing.",
159159
);
160-
const [sourcePathHintsText, setSourcePathHintsText] = useState(
161-
[
162-
"uapi/app/terminal/TerminalDepositComposer.tsx",
163-
"packages/pipelines/asset-pack/src/depository-supply-index.ts",
164-
].join("\n"),
165-
);
160+
const [sourcePathHintsText, setSourcePathHintsText] = useState("");
166161
const [protectedIpExclusionsText, setProtectedIpExclusionsText] = useState("");
167162
const [optionsRequested, setOptionsRequested] = useState(false);
168163
const [synthesisRunId, setSynthesisRunId] = useState<string | null>(null);
@@ -1363,18 +1358,12 @@ export default function DepositPageClient() {
13631358
surface="pipelines"
13641359
/>
13651360
</div>
1366-
<Link
1367-
href="/packs?type=depository-assetpack"
1368-
className="mt-3 inline-flex w-full items-center justify-center border border-emerald-300/20 bg-emerald-300/10 px-4 py-3 text-sm font-medium text-emerald-100 transition hover:border-emerald-200/40 hover:bg-emerald-300/15"
1369-
>
1370-
Open pack activity
1371-
</Link>
13721361
</>
13731362
)}
13741363
{synthesisRunId ? (
13751364
<section
13761365
ref={synthesisTelemetryRef}
1377-
className="mt-4 min-w-0 overflow-hidden border border-white/10 bg-black/20 px-4 py-4"
1366+
className="mt-4 min-w-0 overflow-hidden"
13781367
aria-label="Asset Pack Synthesis telemetry"
13791368
data-testid="deposit-synthesis-telemetry"
13801369
>
@@ -1589,7 +1578,8 @@ export default function DepositPageClient() {
15891578
className="mt-2 min-h-[8rem] w-full border border-white/10 bg-black/30 px-3 py-3 text-sm leading-6 text-neutral-100 outline-none transition focus:border-emerald-300/35"
15901579
/>
15911580
</div>
1592-
<div className="mt-4 block">
1581+
<div className="mt-4 grid gap-4 tablet:grid-cols-2">
1582+
<div className="block">
15931583
<span className="flex items-center gap-2 text-[0.62rem] uppercase tracking-[0.16em] text-neutral-500">
15941584
<label htmlFor="deposit-source-path-hints-input">Source path hints</label>
15951585
<span onClick={(event) => event.stopPropagation()}>
@@ -1602,10 +1592,11 @@ export default function DepositPageClient() {
16021592
onChange={(event) =>
16031593
setSourcePathHintsText(event.target.value)
16041594
}
1595+
placeholder={"e.g. uapi/app/terminal/TerminalDepositComposer.tsx\npackages/pipelines/asset-pack/src/depository-supply-index.ts"}
16051596
className="mt-2 min-h-[6rem] w-full border border-white/10 bg-black/30 px-3 py-3 font-mono text-xs leading-5 text-neutral-100 outline-none transition focus:border-emerald-300/35"
16061597
/>
16071598
</div>
1608-
<div className="mt-4 block">
1599+
<div className="block">
16091600
<span className="flex items-center gap-2 text-[0.62rem] uppercase tracking-[0.16em] text-neutral-500">
16101601
<label htmlFor="deposit-protected-ip-exclusions-input">
16111602
Protected IP exclusions (one per line)
@@ -1630,6 +1621,7 @@ export default function DepositPageClient() {
16301621
fail-closed.
16311622
</span>
16321623
</div>
1624+
</div>
16331625
<button
16341626
type="button"
16351627
onClick={() => {
@@ -1674,7 +1666,7 @@ export default function DepositPageClient() {
16741666
</h2>
16751667
</div>
16761668
<span className="border border-emerald-300/15 bg-emerald-300/10 px-3 py-2 text-[0.62rem] uppercase tracking-[0.16em] text-emerald-100">
1677-
{depositRouteSession.synthesis.pipeline}
1669+
{depositRouteSession.synthesis.pipeline.replace(/([a-z])([A-Z])/g, "$1 $2")}
16781670
</span>
16791671
</div>
16801672
{realSynthesis?.synthesis?.inference ? (
@@ -1771,7 +1763,7 @@ export default function DepositPageClient() {
17711763
},
17721764
});
17731765
}}
1774-
className="flex h-7 w-7 shrink-0 items-center justify-center rounded-full border border-white/10 bg-white/5 text-neutral-300 transition hover:border-emerald-300/35 hover:bg-emerald-300/10"
1766+
className="flex h-7 w-7 shrink-0 items-center justify-center border border-white/10 bg-white/5 text-neutral-300 transition hover:border-emerald-300/35 hover:bg-emerald-300/10"
17751767
>
17761768
<Anchor className="h-3.5 w-3.5" />
17771769
</button>
@@ -2129,7 +2121,7 @@ export default function DepositPageClient() {
21292121
setResynthesisInstructions(event.target.value)
21302122
}
21312123
placeholder="Steer the re-run, or leave blank to resynthesize with current instructions…"
2132-
className="w-full rounded-lg border border-white/10 bg-black/30 px-3 py-2 text-xs text-white outline-none transition focus:border-amber-300/40"
2124+
className="w-full border border-white/10 bg-black/30 px-3 py-2 text-xs text-white outline-none transition focus:border-amber-300/40"
21332125
/>
21342126
<button
21352127
type="button"
@@ -2245,8 +2237,8 @@ export default function DepositPageClient() {
22452237
className="grid h-fit items-start gap-5 tablet:grid-cols-3 xl:grid-cols-1"
22462238
aria-label="Deposit route state"
22472239
>
2248-
<details className="border border-white/10 bg-white/[0.035] px-4 py-4">
2249-
<summary className="flex cursor-pointer list-none items-start justify-between gap-3 outline-none">
2240+
<section className="border border-white/10 bg-white/[0.035] px-4 py-4">
2241+
<div className="flex items-start justify-between gap-3">
22502242
<div>
22512243
<p className="text-[0.68rem] uppercase tracking-[0.22em] text-emerald-200/80">
22522244
Earnings
@@ -2262,11 +2254,11 @@ export default function DepositPageClient() {
22622254
className="h-5 w-5 text-emerald-200"
22632255
aria-hidden="true"
22642256
/>
2265-
</summary>
2257+
</div>
22662258
<dl className="mt-4 grid gap-2">
22672259
<TelemetryExplainerTrigger
22682260
as="div"
2269-
className="border border-emerald-300/15 bg-emerald-300/[0.04] px-3 py-2"
2261+
className="border-b border-emerald-300/15 px-0 py-2"
22702262
explainer={{
22712263
kicker: "Earning intelligence",
22722264
title: "Likely demand",
@@ -2287,7 +2279,7 @@ export default function DepositPageClient() {
22872279
</TelemetryExplainerTrigger>
22882280
<TelemetryExplainerTrigger
22892281
as="div"
2290-
className="border border-white/8 bg-black/20 px-3 py-2"
2282+
className="border-b border-white/8 px-0 py-2 last:border-b-0"
22912283
explainer={{
22922284
kicker: "Earning intelligence",
22932285
title: "Unfit Need opportunities",
@@ -2311,7 +2303,7 @@ export default function DepositPageClient() {
23112303
</TelemetryExplainerTrigger>
23122304
<TelemetryExplainerTrigger
23132305
as="div"
2314-
className="border border-white/8 bg-black/20 px-3 py-2"
2306+
className="border-b border-white/8 px-0 py-2 last:border-b-0"
23152307
explainer={{
23162308
kicker: "Earning intelligence",
23172309
title: "Expected compensation",
@@ -2335,7 +2327,7 @@ export default function DepositPageClient() {
23352327
</TelemetryExplainerTrigger>
23362328
<TelemetryExplainerTrigger
23372329
as="div"
2338-
className="border border-white/8 bg-black/20 px-3 py-2"
2330+
className="border-b border-white/8 px-0 py-2 last:border-b-0"
23392331
explainer={{
23402332
kicker: "Earning intelligence",
23412333
title: "Supply recommendations",
@@ -2386,10 +2378,10 @@ export default function DepositPageClient() {
23862378
)}
23872379
</dl>
23882380
</details>
2389-
</details>
2381+
</section>
23902382

2391-
<details className="border border-white/10 bg-white/[0.035] px-4 py-4">
2392-
<summary className="flex cursor-pointer list-none items-start justify-between gap-3 outline-none">
2383+
<section className="border border-white/10 bg-white/[0.035] px-4 py-4">
2384+
<div className="flex items-start justify-between gap-3">
23932385
<div>
23942386
<p className="text-[0.68rem] uppercase tracking-[0.22em] text-emerald-200/80">
23952387
Governance
@@ -2405,13 +2397,13 @@ export default function DepositPageClient() {
24052397
className="h-5 w-5 text-emerald-200"
24062398
aria-hidden="true"
24072399
/>
2408-
</summary>
2400+
</div>
24092401
<dl className="mt-4 grid gap-2">
24102402
{authorityRows.map((row) => (
24112403
<TelemetryExplainerTrigger
24122404
key={row.label}
24132405
as="div"
2414-
className="border border-white/8 bg-black/20 px-3 py-2"
2406+
className="border-b border-white/8 px-0 py-2 last:border-b-0"
24152407
explainer={{
24162408
kicker: "Governance",
24172409
title: row.label,
@@ -2443,10 +2435,10 @@ export default function DepositPageClient() {
24432435
</ProductRouteDisclosure>
24442436
</div>
24452437
) : null}
2446-
</details>
2438+
</section>
24472439

2448-
<details className="border border-white/10 bg-white/[0.035] px-4 py-4">
2449-
<summary className="flex cursor-pointer list-none items-start justify-between gap-3 outline-none">
2440+
<section className="border border-white/10 bg-white/[0.035] px-4 py-4">
2441+
<div className="flex items-start justify-between gap-3">
24502442
<div>
24512443
<p className="text-[0.68rem] uppercase tracking-[0.22em] text-emerald-200/80">
24522444
Session
@@ -2462,13 +2454,13 @@ export default function DepositPageClient() {
24622454
className="h-5 w-5 text-emerald-200"
24632455
aria-hidden="true"
24642456
/>
2465-
</summary>
2457+
</div>
24662458
<dl className="mt-4 grid gap-2">
24672459
{sessionRows.map((row) => (
24682460
<TelemetryExplainerTrigger
24692461
key={row.label}
24702462
as="div"
2471-
className="border border-white/8 bg-black/20 px-3 py-2"
2463+
className="border-b border-white/8 px-0 py-2 last:border-b-0"
24722464
explainer={{
24732465
kicker: "Session state",
24742466
title: row.label,
@@ -2549,7 +2541,7 @@ export default function DepositPageClient() {
25492541
]}
25502542
/>
25512543
</div>
2552-
</details>
2544+
</section>
25532545
</aside>
25542546
</section>
25552547
</ProductRouteShell>

uapi/app/deposits/DepositSourceSelection.tsx

Lines changed: 6 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -438,7 +438,7 @@ export default function DepositSourceSelection({
438438
onClick={() => {
439439
void handleAnchorRepository();
440440
}}
441-
className="flex h-9 w-9 items-center justify-center rounded-full border border-white/10 bg-white/5 text-neutral-200 transition hover:border-emerald-300/35 hover:bg-emerald-300/10 disabled:cursor-not-allowed disabled:opacity-40"
441+
className="flex h-9 w-9 items-center justify-center border border-white/10 bg-white/5 text-neutral-200 transition hover:border-emerald-300/35 hover:bg-emerald-300/10 disabled:cursor-not-allowed disabled:opacity-40"
442442
>
443443
{isRecording ? (
444444
<RefreshCw className="h-4 w-4 animate-spin" />
@@ -448,7 +448,7 @@ export default function DepositSourceSelection({
448448
</button>
449449
</div>
450450

451-
<div className="mt-3 grid gap-3 lg:grid-cols-[minmax(0,240px)_minmax(0,1fr)]">
451+
<div className="mt-3 grid gap-3 tablet:grid-cols-2 desktop:grid-cols-[minmax(0,180px)_minmax(0,1.4fr)_minmax(0,1fr)_minmax(0,1fr)]">
452452
<div>
453453
<span className="flex items-center gap-2 text-[0.62rem] uppercase tracking-[0.18em] text-neutral-500">
454454
<span>Provider</span>
@@ -519,10 +519,7 @@ export default function DepositSourceSelection({
519519
/>
520520
</div>
521521
</div>
522-
</div>
523-
524-
<div className="mt-3 grid gap-3 tablet:grid-cols-2">
525-
<div className="rounded-[1rem] border border-white/8 bg-white/5 px-3 py-2.5">
522+
<div>
526523
<span className="flex items-center gap-2 text-[0.64rem] uppercase tracking-[0.2em] text-neutral-400">
527524
<GitBranch className="h-3.5 w-3.5" />
528525
<span>Branch</span>
@@ -557,7 +554,7 @@ export default function DepositSourceSelection({
557554
params.delete("commit");
558555
})
559556
}
560-
className="h-9 rounded-xl border-white/10 bg-[rgba(10,15,30,0.88)] px-3 text-sm text-white hover:bg-[rgba(10,15,30,0.88)] focus:border-emerald-400/40"
557+
className="h-9 border-white/10 bg-[rgba(10,15,30,0.88)] px-3 text-sm text-white hover:bg-[rgba(10,15,30,0.88)] focus:border-emerald-400/40"
561558
/>
562559
</div>
563560
<p className="mt-1.5 text-[0.6rem] uppercase tracking-[0.16em] text-neutral-500">
@@ -567,7 +564,7 @@ export default function DepositSourceSelection({
567564
</p>
568565
</div>
569566

570-
<div className="rounded-[1rem] border border-white/8 bg-white/5 px-3 py-2.5">
567+
<div>
571568
<span className="flex items-center gap-2 text-[0.64rem] uppercase tracking-[0.2em] text-neutral-400">
572569
<span>Commit / ref</span>
573570
<BitcodeInlineExplainer explainer={DEPOSIT_SECTION_EXPLAINERS.commit} triggerAriaLabel="More info about this field" />
@@ -598,7 +595,7 @@ export default function DepositSourceSelection({
598595
params.delete("commit");
599596
})
600597
}
601-
className="h-9 rounded-xl border-white/10 bg-[rgba(10,15,30,0.88)] px-3 text-sm text-white hover:bg-[rgba(10,15,30,0.88)] focus:border-emerald-400/40"
598+
className="h-9 border-white/10 bg-[rgba(10,15,30,0.88)] px-3 text-sm text-white hover:bg-[rgba(10,15,30,0.88)] focus:border-emerald-400/40"
602599
/>
603600
</div>
604601
<p className="mt-1.5 text-[0.6rem] uppercase tracking-[0.16em] text-neutral-500">

uapi/app/reads/ReadPageClient.tsx

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -720,10 +720,7 @@ export default function ReadPageClient() {
720720
</div>
721721
)}
722722
{selectedRun && !selectedPipelineRunId ? (
723-
<div
724-
data-testid="reads-run-summary"
725-
className="mt-4 border border-white/10 bg-black/20 px-4 py-4"
726-
>
723+
<div data-testid="reads-run-summary" className="mt-4">
727724
<p className="text-[0.68rem] uppercase tracking-[0.22em] text-sky-200/80">
728725
Run detail
729726
</p>

uapi/components/base/bitcode/execution/BitcodeActionPillRow.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,7 @@ export default function BitcodeActionPillRow({
3838
onClick={action.onClick}
3939
disabled={action.disabled}
4040
title={action.title}
41-
className={`rounded-full border px-3 py-2 text-[0.72rem] uppercase tracking-[0.18em] transition ${getActionToneClassName(action.tone)} disabled:cursor-not-allowed disabled:border-white/10 disabled:bg-white/5 disabled:text-neutral-500`}
41+
className={` border px-3 py-2 text-[0.72rem] uppercase tracking-[0.18em] transition ${getActionToneClassName(action.tone)} disabled:cursor-not-allowed disabled:border-white/10 disabled:bg-white/5 disabled:text-neutral-500`}
4242
>
4343
{action.label}
4444
</button>

uapi/components/base/bitcode/execution/BitcodeChipCloud.tsx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ export default function BitcodeChipCloud({
2222
<div
2323
className={
2424
emptyClassName ||
25-
'rounded-[1.1rem] border border-white/8 bg-white/5 px-4 py-4 text-sm leading-6 text-neutral-300'
25+
' border border-white/8 bg-white/5 px-4 py-4 text-sm leading-6 text-neutral-300'
2626
}
2727
>
2828
{emptyMessage}
@@ -37,7 +37,7 @@ export default function BitcodeChipCloud({
3737
key={chip}
3838
className={
3939
chipClassName ||
40-
'rounded-full border border-white/10 bg-black/20 px-2.5 py-1 text-[0.66rem] uppercase tracking-[0.18em] text-neutral-200'
40+
' border border-white/10 bg-black/20 px-2.5 py-1 text-[0.66rem] uppercase tracking-[0.18em] text-neutral-200'
4141
}
4242
>
4343
{chip}

uapi/components/base/bitcode/execution/BitcodeDetailCollection.tsx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@ export default function BitcodeDetailCollection({
3737
<div
3838
className={
3939
emptyClassName ||
40-
'rounded-[1.1rem] border border-white/8 bg-white/5 px-4 py-4 text-sm leading-6 text-neutral-300'
40+
' border border-white/8 bg-white/5 px-4 py-4 text-sm leading-6 text-neutral-300'
4141
}
4242
>
4343
{emptyMessage}
@@ -50,7 +50,7 @@ export default function BitcodeDetailCollection({
5050
{items.map((item) => (
5151
<div
5252
key={item.id}
53-
className={itemClassName || 'rounded-[1.1rem] border border-white/8 bg-white/5 px-4 py-4'}
53+
className={itemClassName || ' border border-white/8 bg-white/5 px-4 py-4'}
5454
>
5555
<p className={titleClassName || 'font-medium text-white'}>{item.title}</p>
5656
{item.summary ? <p className={`mt-1 ${summaryClassName || 'text-neutral-300'}`.trim()}>{item.summary}</p> : null}

uapi/components/base/bitcode/execution/BitcodeDetailPanel.tsx

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -34,17 +34,17 @@ export default function BitcodeDetailPanel({
3434
}: BitcodeDetailPanelProps) {
3535
const actionClassName =
3636
actionTone === 'primary'
37-
? 'rounded-[1.2rem] border border-emerald-400/30 bg-emerald-400/10 px-4 py-3 text-sm font-medium text-emerald-100 transition hover:border-emerald-300/45 hover:bg-emerald-400/15'
38-
: 'rounded-[1.2rem] border border-white/10 bg-white/5 px-4 py-3 text-sm font-medium text-neutral-200 transition hover:border-white/18 hover:bg-white/10';
37+
? ' border border-emerald-400/30 bg-emerald-400/10 px-4 py-3 text-sm font-medium text-emerald-100 transition hover:border-emerald-300/45 hover:bg-emerald-400/15'
38+
: ' border border-white/10 bg-white/5 px-4 py-3 text-sm font-medium text-neutral-200 transition hover:border-white/18 hover:bg-white/10';
3939

4040
return (
41-
<article className={`rounded-[1.5rem] border border-white/8 bg-black/20 px-5 py-5 ${className || ''}`.trim()}>
41+
<article className={` border border-white/8 bg-black/20 px-5 py-5 ${className || ''}`.trim()}>
4242
<div className="flex items-start justify-between gap-3">
4343
<div>
4444
<p className="text-[0.66rem] uppercase tracking-[0.2em] text-emerald-300/75">{badge}</p>
4545
<h3 className="mt-2 text-lg font-semibold text-white">{title}</h3>
4646
</div>
47-
<span className="select-none rounded-full bg-white/[0.04] px-2.5 py-1 text-[0.62rem] uppercase tracking-[0.18em] text-neutral-400">
47+
<span className="select-none bg-white/[0.04] px-2.5 py-1 text-[0.62rem] uppercase tracking-[0.18em] text-neutral-400">
4848
{tagLabel}
4949
</span>
5050
</div>
@@ -55,13 +55,13 @@ export default function BitcodeDetailPanel({
5555
metrics={metrics}
5656
className="mt-4"
5757
columnsClassName="sm:grid-cols-2"
58-
itemClassName="rounded-[1.1rem] border border-white/8 bg-white/5 px-4 py-4"
58+
itemClassName=" border border-white/8 bg-white/5 px-4 py-4"
5959
labelClassName="text-[0.64rem] uppercase tracking-[0.16em] text-neutral-500"
6060
valueClassName="text-sm font-semibold text-white"
6161
/>
6262

6363
{rows.length ? (
64-
<div className="mt-4 rounded-[1.15rem] border border-white/8 bg-white/5 px-4 py-4">
64+
<div className="mt-4 border border-white/8 bg-white/5 px-4 py-4">
6565
<BitcodeDetailRowList rows={rows} />
6666
</div>
6767
) : null}

0 commit comments

Comments
 (0)