fix: make join review read only
This commit is contained in:
@@ -13,8 +13,8 @@ NEVER advance a phase or record a decision without explicit reviewer confirmatio
|
||||
The reviewer answers via the gate's **widgets** (built by `tht-gate.js`):
|
||||
`reviewer_select` (single pick; a chosen option carrying a `decision` payload IS the
|
||||
confirmation and is persisted directly — an option without a payload only asks),
|
||||
`reviewer_decide` (multiselect, each selected option IS a decision — the choice is the
|
||||
confirmation), `reviewer_confirm` (gate on an artifact / phase transition). Free text
|
||||
`reviewer_decide` (normally a multiselect; a join-only proposal is rendered read-only and
|
||||
Continue records the complete join set), `reviewer_confirm` (gate on an artifact / phase transition). Free text
|
||||
arrives via the "Altro/Other" option or by prefixing `!` in chat.
|
||||
|
||||
**Language contract (from the workspace `language` field):** the table/column
|
||||
@@ -36,7 +36,7 @@ substantive decisions.
|
||||
|-------|--------------|--------------------|
|
||||
| F1 chiarimento | — | `reviewer_confirm kind:"phase"` |
|
||||
| F2 memoria | — | `advance:true` only if nothing recorded; else `reviewer_confirm kind:"phase"` |
|
||||
| F3 riscrittura | `question.md` | `reviewer_confirm kind:"phase"` (after `rewrite_question`) |
|
||||
| F3 riscrittura | `question.md` | `rewrite_question` records approval and advances automatically |
|
||||
| F4 schema_linking | `schema_linking.json` | `reviewer_confirm kind:"phase"` (after `reviewer_schema_linking` + `write_schema_linking`). Promoted columns are the reviewer-approved OUTPUT columns — project exactly those in the final SELECT. |
|
||||
| F5 sintesi | — | `reviewer_confirm kind:"phase"` (after `tht session check`) |
|
||||
| F6 cte | `cte_plan.json`, `ctes/`, `cte_tests.json` | approve each CTE `kind:"cte_result"`, then `reviewer_confirm kind:"phase"` |
|
||||
@@ -278,8 +278,14 @@ Prerequisite: Phase 3 closed.
|
||||
columns: project exactly those in the final SELECT (Phase 6/7); you remain free
|
||||
to reference other columns as join keys or filter predicates when the query
|
||||
requires them.
|
||||
Propose joins separately in `reviewer_decide(advance:false)`, registering
|
||||
`join_modified`. Ground them in the `【Foreign keys】` section of the mschema-text
|
||||
Propose **all required joins together in a separate, join-only**
|
||||
`reviewer_decide(advance:false)`, registering `join_modified`. Do not mix
|
||||
`join_modified` with other decision types in that call. The gate renders this proposal
|
||||
as read-only information: **Continue records every proposed join**; the reviewer cannot
|
||||
remove individual joins (which could create an accidental Cartesian product). If the
|
||||
reviewer uses **Other — specify**, none of the current joins is recorded: incorporate
|
||||
the textual correction and present the complete revised join set again.
|
||||
Ground joins in the `【Foreign keys】` section of the mschema-text
|
||||
render: it lists the curated logical FKs of the workspace (e.g.
|
||||
`fact_x.cod_paz=dim_patient.cod_paz`, `*_time_key=dim_time.day_key`) — prefer
|
||||
those to joins you derive yourself, and flag to the reviewer any join you need
|
||||
|
||||
Reference in New Issue
Block a user