Skip to content

Commit 697457f

Browse files
committed
chore(local-plugins): record provider usage footer proof
1 parent 2658777 commit 697457f

6 files changed

Lines changed: 46 additions & 2 deletions

File tree

AGENTS.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -102,6 +102,8 @@ Current topic order:
102102
3. `feat(runtime): preserve worktree context and controlled recovery`
103103
4. `feat(project-git): add project Git dashboard and VCS reconciliation`
104104
5. `feat(provider-settings): add usage, reset, and T3 access controls`
105+
- Includes selected-provider usage icon and popover wiring in the chat composer footer, with headed chat-layout
106+
smoke coverage so the popover cannot be replayed as an unused component.
105107
6. `feat(composer): add mentions, slash menus, chat context, and worktree naming`
106108
- Includes chat-layout protection for seeded history rows, context-window visibility, right-panel access, and
107109
terminal-drawer composer offsetting.

docs/operations/jordan-topic-stack.manifest.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,7 @@
3131
"id": "provider-settings",
3232
"pluginPath": "local-plugins/provider-settings",
3333
"commits": ["cbabcf08e13af412f9feb57afbcc583b63f87f06"],
34+
"replayFollowupCommits": ["a159898af2e75a9c87a82f3480db8e56b4e3b0dd"],
3435
"subject": "feat(provider-settings): add usage, reset, and T3 access controls"
3536
},
3637
{

docs/operations/jordan-topic-stack.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -41,6 +41,8 @@ installable Codex plugins.
4141
5. `feat(provider-settings): add usage, reset, and T3 access controls`
4242
- Owns provider usage state/UI, Codex native reset, T3 access settings, and
4343
provider interrupt/hang stabilization.
44+
- Owns chat composer footer wiring for the selected-provider usage icon and
45+
popover, plus headed chat-layout smoke coverage that proves it is visible.
4446
6. `feat(composer): add mentions, slash menus, chat context, and worktree naming`
4547
- Owns composer `@` mentions, slash menus, chat/terminal context
4648
attachments, semantic worktree naming, compact chat/sidebar stabilization,

docs/operations/staging-review-guide.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -617,6 +617,9 @@ Important implementation areas:
617617
hover/focus refresh path.
618618
- `apps/web/src/components/chat/ChatComposer.tsx` places the usage popover in
619619
the composer footer for the selected provider instance.
620+
- `apps/desktop/e2e/specs/chat-layout.spec.ts` requires the provider usage
621+
button and popover alongside the context-window meter in headed Electron
622+
smoke coverage.
620623

621624
### Why This Shape
622625

@@ -644,6 +647,8 @@ Reviewers should check:
644647
provider instance and applies the updated provider list.
645648
- The usage icon color reflects the lowest remaining rate-limit window without
646649
overstating accuracy.
650+
- Headed chat-layout smoke fails if the composer footer has the context-window
651+
meter but drops the selected-provider usage button.
647652

648653
### Suggested Manual Checks
649654

local-plugins/provider-settings/README.md

Lines changed: 19 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,10 @@ Add provider settings for usage limits, provider-native reset behavior, and T3 a
1212

1313
This is the provider settings topic from the June 25 replay stack.
1414

15+
Replay support follow-ups currently listed in the nightly manifest:
16+
17+
- `a159898af2e75a9c87a82f3480db8e56b4e3b0dd` `fix(provider-settings): restore composer usage popover`
18+
1519
## Added Features
1620

1721
- [x] Provider usage and Codex limit state are exposed through provider settings modules (`apps/web/src/localTopics/providerSettings/index.ts`, `apps/server/src/localTopics/providerSettings/index.ts`).
@@ -21,6 +25,7 @@ This is the provider settings topic from the June 25 replay stack.
2125
## Added UI
2226

2327
- [x] Settings panels expose usage, reset actions, and T3 access toggles (`apps/web/src/routes/settings.providers.tsx`, `apps/web/src/localTopics/providerSettings/index.ts`).
28+
- [x] The chat composer footer exposes the selected provider usage icon and popover through thin composer wiring (`apps/web/src/components/chat/ChatComposer.tsx`, `apps/web/src/components/chat/ProviderUsagePopover.tsx`).
2429

2530
## Added Server And Runtime Behavior
2631

@@ -30,6 +35,7 @@ This is the provider settings topic from the June 25 replay stack.
3035
## Added Tests
3136

3237
- [x] Provider usage ordering, reset behavior, settings contracts, and provider maintenance are covered by focused tests (`apps/server/src/provider/providerMaintenance.test.ts`, `apps/server/src/provider/Drivers/CodexNativeReset.test.ts`, `packages/contracts/src/provider.test.ts`).
38+
- [x] Headed Electron chat-layout smoke requires the provider usage footer button and popover alongside the context-window meter (`apps/desktop/e2e/specs/chat-layout.spec.ts`, `vp run --filter @t3tools/desktop e2e:smoke -- chat-layout.spec.ts`).
3339

3440
## Component Entrypoints
3541

@@ -42,6 +48,7 @@ Componentization status: `complete`.
4248

4349
- `apps/server/src/provider`
4450
- `apps/web/src/components/settings`
51+
- `apps/web/src/components/chat/ChatComposer.tsx`
4552
- `packages/contracts/src/provider.ts`
4653
- `packages/contracts/src/settings.ts`
4754

@@ -65,14 +72,25 @@ export * from "../../components/settings/ProviderSettingsForm.tsx";
6572
export * from "../../components/settings/providerStatus.ts";
6673
```
6774

75+
`apps/web/src/components/chat/ChatComposer.tsx`
76+
77+
```tsx
78+
<ProviderUsagePopover
79+
environmentId={props.environmentId}
80+
provider={props.selectedProviderStatus}
81+
selectedInstanceId={props.selectedInstanceId}
82+
/>
83+
```
84+
6885
## Replay Notes
6986

70-
Replay after project-git and before composer because composer provider menus consume stabilized provider state.
87+
Replay after project-git and before composer because composer provider menus consume stabilized provider state. Keep the composer footer usage wiring with this topic so the popover component is not replayed without a visible integration point.
7188

7289
## Verification
7390

7491
- `vp check`
7592
- `vp run typecheck`
93+
- `vp run --filter @t3tools/desktop e2e:smoke -- chat-layout.spec.ts`
7694

7795
## Known Follow-Up Work
7896

local-plugins/provider-settings/plugin.json

Lines changed: 17 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,14 @@
1313
"path": "apps/web/src/components/settings",
1414
"role": "source"
1515
},
16+
{
17+
"path": "apps/web/src/components/chat/ProviderUsagePopover.tsx",
18+
"role": "source"
19+
},
20+
{
21+
"path": "apps/desktop/e2e/specs/chat-layout.spec.ts",
22+
"role": "test"
23+
},
1624
{
1725
"path": "packages/contracts/src/provider.ts",
1826
"role": "source"
@@ -46,6 +54,10 @@
4654
"path": "apps/web/src/components/settings",
4755
"role": "thin-wiring"
4856
},
57+
{
58+
"path": "apps/web/src/components/chat/ChatComposer.tsx",
59+
"role": "thin-wiring"
60+
},
4961
{
5062
"path": "packages/contracts/src/provider.ts",
5163
"role": "public-facade"
@@ -63,5 +75,9 @@
6375
"role": "consumer"
6476
}
6577
],
66-
"verification": ["vp check", "vp run typecheck"]
78+
"verification": [
79+
"vp check",
80+
"vp run typecheck",
81+
"vp run --filter @t3tools/desktop e2e:smoke -- chat-layout.spec.ts"
82+
]
6783
}

0 commit comments

Comments
 (0)