Skip to content

Commit a6ae3e6

Browse files
committed
docs(tables): finish the v2 cutover's documentation trail
Regenerate the two artifacts the `ncontains` commit left stale: the tool metadata bundle and the generated Table integration page both still published the operator list without it, so `bun run tool-metadata:check` failed at HEAD. Point the remaining docs previews at `table_v2`. `BLOCK_DISPLAY_WORKFLOWS` already moved, but the two hand-written table example workflows and the OutputBundle on the workflows guide still named the v1 type, so every table example in the docs described the block the toolbar no longer yields. They render identically today only because both types share an icon-map entry. The workflows guide told readers the log shows "the filter and sort it sent"; v2 sends `order`. Document the `sunset` step in the three skills that describe the v1 -> v2 cutover. All three stopped at `(Legacy)` + `hideFromToolbar`, but `check-block-registry` fails a legacy block with no `replacedBy`, and the amber badge and its click-to-upgrade action read from that field - following the procedure verbatim produced a build failure. Also record the ordering constraint this cutover hit: the v1 `sunset` edit and the v2 `preview` removal must land together, since the check rejects a `replacedBy` that is still preview. Left alone: the academy video previews still show v1 labels. They mirror recorded footage, so correcting the label without a re-record would only make the still disagree with the video it claims to depict.
1 parent 085688b commit a6ae3e6

7 files changed

Lines changed: 17 additions & 10 deletions

File tree

.agents/skills/add-block-preview/SKILL.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,7 @@ A revealed block that is not globally GA (`enabled !== true`, or env-revealed) r
4141
- GA via config (code cleanup pending): `{ "enabled": true }` — suffix disappears everywhere within ~30s (AppConfig TTL) + client refetch.
4242

4343
Same runbook as `feature-flags`: edit the hosted document, `aws appconfig start-deployment` with the `sim-<env>-fast` strategy (see the infra README).
44-
5. **GA cleanup:** delete `preview: true` from the block (now visible to self-hosters on their next upgrade), add its `BlockMeta` + regen docs, and drop the AppConfig entry. For a v2 upgrade, this is also when v1 gets `hideFromToolbar: true` (the superseded-version paradigm).
44+
5. **GA cleanup:** delete `preview: true` from the block (now visible to self-hosters on their next upgrade), add its `BlockMeta` + regen docs, and drop the AppConfig entry. For a v2 upgrade, this is also when v1 gets `hideFromToolbar: true` **and** `sunset: { status: 'legacy', replacedBy: '<v2-type>' }` (the superseded-version paradigm). Both edits must land in the **same commit** as the `preview: true` removal — `check-block-registry` fails a sunset block whose `replacedBy` is still `preview`, so splitting them breaks the build in between. Also move the block's `BLOCK_DISPLAY_WORKFLOWS` entry (`apps/docs/components/workflow-preview/block-display-workflows.ts`) to the new type, or `BlockPreview` silently renders nothing on the docs page.
4545

4646
## Kill switch (shipped blocks)
4747

.agents/skills/add-block/SKILL.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -695,6 +695,10 @@ export const ServiceBlock: BlockConfig = {
695695
type: 'service',
696696
name: 'Service (Legacy)',
697697
hideFromToolbar: true, // Hide from toolbar
698+
// Required: drives the amber legacy badge and its click-to-upgrade action.
699+
// `check-block-registry` fails a legacy block with no `replacedBy`, one whose
700+
// target does not exist, or one whose target is itself sunset or still `preview`.
701+
sunset: { status: 'legacy', replacedBy: 'service_v2' },
698702
// ... rest of config
699703
}
700704

.agents/skills/add-integration/SKILL.md

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -598,7 +598,10 @@ If creating V2 versions (API-aligned outputs):
598598

599599
1. **V2 Tools** - Add `_v2` suffix, version `2.0.0`, flat outputs
600600
2. **V2 Block** - Add `_v2` type, use `createVersionedToolSelector`
601-
3. **V1 Block** - Add `(Legacy)` to name, set `hideFromToolbar: true`
601+
3. **V1 Block** - Add `(Legacy)` to name, set `hideFromToolbar: true`, and add
602+
`sunset: { status: 'legacy', replacedBy: '{service}_v2' }``check-block-registry`
603+
fails a legacy block with no `replacedBy`, and the amber legacy badge plus its
604+
click-to-upgrade action read from that field
602605
4. **Registry** - Register both versions
603606

604607
```typescript

apps/docs/components/workflow-preview/examples.ts

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -139,7 +139,7 @@ export const TABLE_ENRICH_WORKFLOW: PreviewWorkflow = {
139139
{
140140
id: 'table1',
141141
name: 'Table 1',
142-
type: 'table',
142+
type: 'table_v2',
143143
bgColor: '#10B981',
144144
position: { x: 0, y: 0 },
145145
hideTargetHandle: true,
@@ -162,7 +162,7 @@ export const TABLE_ENRICH_WORKFLOW: PreviewWorkflow = {
162162
{
163163
id: 'table2',
164164
name: 'Table 2',
165-
type: 'table',
165+
type: 'table_v2',
166166
bgColor: '#10B981',
167167
position: { x: 660, y: 0 },
168168
rows: [
@@ -1644,7 +1644,7 @@ export const TABLE_ROUNDTRIP_WORKFLOW: PreviewWorkflow = {
16441644
{
16451645
id: 'query',
16461646
name: 'Table',
1647-
type: 'table',
1647+
type: 'table_v2',
16481648
bgColor: '#10B981',
16491649
position: { x: 0, y: 0 },
16501650
hideTargetHandle: true,
@@ -1664,7 +1664,7 @@ export const TABLE_ROUNDTRIP_WORKFLOW: PreviewWorkflow = {
16641664
{
16651665
id: 'update',
16661666
name: 'Table',
1667-
type: 'table',
1667+
type: 'table_v2',
16681668
bgColor: '#10B981',
16691669
position: { x: 680, y: 0 },
16701670
rows: [

apps/docs/content/docs/integrations/table.mdx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -204,7 +204,7 @@ Delete multiple rows that match filter criteria. Use with caution - supports opt
204204

205205
### Query Rows
206206

207-
Query rows with a typed predicate filter and cursor pagination. A single filter can be a plain condition: `\{"field":"wins","op":"gte","value":10\}`. Use `all` (AND) or `any` (OR) groups for multiple or nested conditions. Operators: eq, ne, gt, gte, lt, lte, in, nin, like, ilike, nlike, nilike, contains, startsWith, endsWith, isNull, isNotNull, isEmpty, isNotEmpty. Order is a sort spec, e.g. `[\{"field":"wins","direction":"desc"\}]`. Omit limit to return the entire result — the query fails if it exceeds the 5MB budget (narrow with a filter or set a limit). With a limit, a page can end early at the byte budget: a non-null nextCursor means more rows exist — pass it back as cursor to continue; never infer completion from page size.
207+
Query rows with a typed predicate filter and cursor pagination. A single filter can be a plain condition: `\{"field":"wins","op":"gte","value":10\}`. Use `all` (AND) or `any` (OR) groups for multiple or nested conditions. Operators: eq, ne, gt, gte, lt, lte, in, nin, like, ilike, nlike, nilike, contains, ncontains, startsWith, endsWith, isNull, isNotNull, isEmpty, isNotEmpty. Order is a sort spec, e.g. `[\{"field":"wins","direction":"desc"\}]`. Omit limit to return the entire result — the query fails if it exceeds the 5MB budget (narrow with a filter or set a limit). With a limit, a page can end early at the byte budget: a non-null nextCursor means more rows exist — pass it back as cursor to continue; never infer completion from page size.
208208

209209
#### Input
210210

apps/docs/content/docs/tables/using-in-workflows.mdx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,7 @@ Later blocks read these by name: `<table1.rows>` is the array, `<table1.rowCount
4343

4444
<OutputBundle
4545
blockName="table1"
46-
blockType="table"
46+
blockType="table_v2"
4747
blockColor="#10B981"
4848
duration="84ms"
4949
values={[
@@ -138,7 +138,7 @@ After the run, the table holds the enriched rows. The next run queries them agai
138138

139139
## Inspecting reads and writes
140140

141-
Every Table block's input and output is recorded in [logs](/logs-debugging). For a Query block, the log shows the filter and sort it sent and the rows it received. For an Update or Insert, it shows the row data written and the count affected. When a write does nothing or a query comes back empty, the log is where you check the filter and the data shape before looking anywhere else.
141+
Every Table block's input and output is recorded in [logs](/logs-debugging). For a Query block, the log shows the filter and order it sent and the rows it received. For an Update or Insert, it shows the row data written and the count affected. When a write does nothing or a query comes back empty, the log is where you check the filter and the data shape before looking anywhere else.
142142

143143
## Next
144144

apps/sim/tools/generated/tool-metadata.ts

Lines changed: 1 addition & 1 deletion
Large diffs are not rendered by default.

0 commit comments

Comments
 (0)