Repository navigation
feat(cli)!: adopt owner-scoped operator configuration - #1115
Conversation
Why this change mattersOperator configuration becomes one version-1 document. A connection names the control-plane API, the organization, and the owner-local auth profiles. A target names a managed cluster, a standalone server, or a local file graph. An alias names one stored read. Old documents fail closed. I request changes. Three defects let a checked document, a catalogue command, or an alias parameter disagree with the path that actually runs. Blocking1.
|
|
Addressed the review in 372ba4b and follow-up 18280ab; merged current main in 400bc3b.
CI investigation: the catalogue inventory failure is fixed. The first attempt to supply the served GQT fixture CA via SSL_CERT_FILE was insufficient: GQT clears its worker environment. The smoke now uses the fixture's original loopback HTTP upstream, as before the shared CLI fixtures acquired TLS. Production transport and CLI TLS verification remain unchanged; no CA trust is disabled and no worker environment allowlist is widened. Updated the existing composed-route regression to expect offline rejection of its intentionally invalid nested graph ID. Local validation on the merged code: 321 CLI library tests passed (serial), 334 integration tests passed, explicit served GQT smoke passed, catalogue inventories match the built binary, and documentation checks passed (374 files). One parallel library run hit the existing baseline lock-release assertion; its isolated rerun and full serial suite passed. The local GQT build uses workspace rustflags; the flagless Linux qualification remains the CI job's responsibility. Latest head: 18280ab. CI is rerunning; not claiming it is green yet. RFC remains draft pending design approval. |
Why this change mattersOperator configuration becomes one version-1 document. A connection names the control-plane API, the organization, and the owner-local auth profiles. A target names a managed cluster, a standalone server, or a local file graph. The follow-up commits close the three blocking gaps from the first review. Identifier checks, alias JSON, and the catalogue command now agree with the path that runs. One required journey still passes a served URL as an inline target. Test Workspace fails on that journey, and CI Gate fails because that job fails. I request changes. Earlier findings
BlockingThe v0.9 rebuild journey still addresses the server with an inline URL
This is one class. Every current-binary served command in this journey must use the registered target. The 0.12 journey already does that with The product refusal is the right contract. The journey is the hole. GQT cannot see CLI target selection. This existing test is the owner. It is not ignored. CI requires the line OptionalCluster admission still uses a second graph-id grammarThe CLI and the server now share
Keep one grammar at the door that admits the id. Either direct selection calls Tradeoffs and liabilityThe version-1 document still removes the importer and the second on-disk grammar. That is lower long-term liability. The review fixes put the id rules and the YAML anchor rule in the schema scan. That is the layer that owns the document. The new liability is a half-migrated caller. Query uses a registered target. Blob, mutate, and merge still pass a URL. Five more journeys with that split will fail the same CI cell. One helper for current-binary served commands removes the class. The operator RFC is still a draft. This breaking format is the user contract. Accept the RFC, or the next edit will change a shipped format against a draft.
This diff from ValidationReviewed head: CI on this head, run
The workspace failure is one test:
stderr: The same test on main These review regressions passed on this head before the workspace job stopped: The author reports 334 local integration tests passed. That run skips this journey when GQT served is green on this head. The smoke uses Recommendation: request changes. Inline comments to attach:
|
Summary
Deliberate boundaries
Version 1 supports local file direct targets and named HTTP server/managed targets. Cloud-direct schemas, standalone catalogue targets, Unix sockets, mTLS, arbitrary private identity-provider transport, and workload federation remain outside this revision. Served catalogue reads keep their existing server graph contract.
Custom destination CAs with HTTPS proxies are explicitly rejected; HTTP CONNECT proxies remain supported. Separate control/data routes preserve their own transport and credential boundaries.
Validation
No live user Keychain or cloud mutation is used by the new synthetic credential regressions. The control-plane source was inspected at commit
2f61511; this is not a claim of live managed-service or BYOC qualification.macOS release prerequisite
The native adapter no longer masks denied lookups with add attempts or ignores deletion status, and authentication stops on custody failures. This does not make ad-hoc code signatures stable across upgrades. Consistent Developer ID release signing still requires an approved signing identity and release-secret setup; this PR does not weaken ACLs or claim that deployment prerequisite is complete.