Repository navigation
Description
Required v1 scope — user decision, 2026-10-20
The user explicitly includes all currently approved open work in v1, including this issue's complete accepted scope, language/platform additions and usability enhancements. #1373 records the finite 218-issue inclusion snapshot plus surviving earlier promises; #1390 owns final candidate evidence. Earlier language saying this accepted work is only advisory or not a v1 blocker is superseded. Consumer opt-in remains consumer opt-in; it is not permission to omit delivery or required qualification from v1. Later unapproved feature ideas are not automatically added.
This changes release membership, not implementation ordering: start independent regressions now and consume only specific ready APIs/artifacts at the stage needing them. No tracker/peer closure gate, new framework, restored removed feature, source implementation or live-operation authorization is introduced. Missing required native/legal/credential evidence remains pending, not waived.
Settled execution contract — 2026-10-19
This section records the user-approved decisions and supersedes older alternatives, prerequisite lists and conflicting execution instructions below. Earlier implementation and acceptance requirements remain unless explicitly replaced here. Do not treat old branch/closed-issue claims as evidence of current main.
Problem and fixed decision
Reopened: QML adapter metadata and fake/saved runner fixtures do not establish actual qmlformat/qmllint operation. The real CLI tool table still lacks QML/Buf; qmlformat uses an unsupported check protocol and qmllint does not read the referenced real Qt JSON schema. Complete the existing structured-cohort promise through bounded children, not another umbrella.
Evidence and start points
Reviewed main: f45aba13d14f3cf4759a45ac6b44984fb0324c5a (2026-10-19). Repository observations are source traces, not claims that this session ran the compiler, GUI, mobile hardware, signing or publication. Revalidate current main before implementation. An upstream README or registry listing establishes a candidate, not hermetic qualification.
Bounded implementation
- Complete Correct qmlformat check semantics and wire real QML formatting through dx #1761 and Parse real qmllint JSON and wire declared QML import context through dx #1762 with actual measured tool protocols and declared runtime/import context.
- Complete Wire and qualify Protocol Buffers quality tooling through the public dx pipeline #1774 for real Buf format/lint through the public pipeline.
- Use qt: the pinned Qt SDK is qualified on macOS arm64 and Windows #1760 for the managed Qt default and native closure; parser/declared-tool regressions can start independently.
- Keep this issue open until each advertised structured tool/capability has real clean/dirty/error and check/Apply evidence where supported.
Acceptance
- Real public structured quality support is executable with actual tools; schema mismatch/missing tools cannot be clean.
- All unfinished family requirements are linked and measured, not discharged by file classification or registry records.
Execution order and dependencies
-
Work type: tracker. This is a coordinator, not an implementation prerequisite.
-
Queue priority: 0 (lower first, only among eligible tasks; no global serial queue).
-
Hard prerequisites for the first deliverable: none; start independently.
-
Later-stage prerequisites: none beyond the named platform/tool/resource requirements.
-
Coordination only, not blockers: Deliver hermetic no-install language support and real application qualification #1757, Wire the remaining registered-but-unwired formatters and linters #1266, Finish support metadata and real qualification for the entire advertised v1 tool capability matrix #1383, Correct qmlformat check semantics and wire real QML formatting through dx #1761, Parse real qmllint JSON and wire declared QML import context through dx #1762, Wire and qualify Protocol Buffers quality tooling through the public dx pipeline #1774.
A dependency means the specific API/artifact/fixture is merged and verified on the current base, not merely that its issue is closed. An open issue may already expose the needed ready primitive; record that evidence and proceed without waiting for unrelated scope. Related links, trackers and the full five-platform CI exit gate never block independent implementation. Later-stage prerequisites do not stop earlier slices. If blocked, name the missing primitive once; do not introduce reciprocal dependencies or reimplement another owner.
Verification and completion
Read root/applicable AGENTS.md and inspect git status/user work before editing. Discover actual labels with Bazel query under the listed owner packages and the existing tools/testing, CLI, quality and independent-consumer harnesses; do not invent passing labels. Use the real public Bazel/dx entry points and pinned tools in a separate consumer workspace, including renamed repository mappings and nondefault consumer configuration where relevant. Run focused behavioral tests, pinned formatting/lint and generation verification with warnings as errors. Include a negative case and actual artifacts/bytes/argv/results, not only string assertions or mocked tool success.
Record exact base/final SHA, commands, exits, host/execution/target identities, tool versions/digests, outputs, native CI/job links and unresolved limitations. Start with the first supported cell, then account for every promised cell. Native qualification cannot be inferred from cross-compilation, emulation, version output, parser snapshots or registry entries. Required GUI/browser/device/credential/signing evidence remains verification-pending, with this issue open, until measured. No retry masking, lowered coverage, disabled required checks or silent unsupported-to-clean conversion.
For no-install qualification, only the documented Bazel/Bazelisk and OS/kernel baseline may be ambient. Fetch/build pinned tool and redistributable runtime closures through declared repositories/toolchains; include subprocess/extractor/sysroot/native-library inputs. After declared fetching, verify build/test actions with network denied and controlled PATH/HOME/configuration, cold-consumer and warm-cache cases, and offline-cache-miss failure. A container with undeclared compilers/SDKs preinstalled is not proof. Existing hardware/driver or legally provisioned Apple-executor requirements are distinct capabilities, never an automatic local no-install claim.
Preserve one Bazel graph, upstream providers/attrs/select(), consumer-selected toolchains and typed failures. Reuse maintained parsers/package tools and existing launch/process/runfiles/support mechanisms; no new compiler, resolver, workflow engine, persistent daemon or dynamic plugin framework. Ordinary build/test/cache outputs are allowed; source/managed-state edits require explicit Apply. Explicit local run/serve intent and live deployment/signing authorization follow the settled #1673 contract; no live upload, publication, credential use, license acceptance, privileged installation, hosted dispatch, commit, push or merge is authorized by filing this issue.
These are user-approved implementation directions, not proof of feasibility. Versions/checksums must be pinned to compatible measured releases, never floating latest. A concrete upstream/legal/technical blocker requires evidence and a bounded prerequisite, not another open-ended support-or-remove vote. All currently accepted capability work in #1373, including this issue, is explicitly required for v1; preserve its complete promises and native qualification. Later unapproved feature ideas are not automatically included. Debugger integration remains unsupported and not planned (#1746).
Earlier description and acceptance (retained)
Historical cohort scope (Structured cohort, provisional — no adapter claims protobuf or qml yet), closed #419. Scope: buf format/lint and qmlformat/qmllint adapters over checksummed native/self-contained artifact routes. Acceptance: per-tool fixtures + adapter qualification + Layer-2 cells flipped from Open.
Reconciled with the user-approved 2026-10-20 decisions. This body governs over conflicting earlier triage/alternatives; remaining functional/native acceptance is not waived. Issue maintenance is not implementation or runtime qualification.
Activity
#799: Structured cohort adapters with fixtures plus qualification (#1025
TrapsterDK commentedon Oct 21, 2026
Pre-flight (v1 audit): Tracking only. Leaves: #1774 (Protocol Buffers), #1760, #1761, #1762, #1763 (QML).
TrapsterDK commentedon Oct 25, 2026
Plan (agent):
Nothing to implement under #799. It is a tracker: the body says "Work type: tracker", and the Pre-flight comment says "Tracking only. Leaves: #1774, #1760, #1761, #1762, #1763", which overrides the body. Three leaves are closed and their commits are on origin/main (985669d): #1761 bdfbbfe (qmlformat check semantics and wiring), #1762 2da3092 (qmllint revision-4 JSON parser that rejects unsupported revisions, with declared imports), #1774 e698eb5 (Buf through the public pipeline). Two leaves are still open and own all remaining scope. #1760 covers Qt SDK cells for linux_arm64, macos_arm64 and windows_x86_64. #1763 covers the same native cells, and it also has a public-CLI QML format/lint consumer case (lint_and_format_own_only_hand_written_qml) that fails on a rules_jvm_external maven.bzl:815 lock-file clash. Chosen fix: send no worker to #799. Put the effort into #1763's maven lock clash, which can be fixed locally now, and into #1760/#1763's native cells. Close #799 once both are closed. Rejected: (a) patching code under #799 would duplicate work the leaves own, which the issue body forbids ("do not reimplement another owner"). (b) Changing config/BUILD.bazel:46-57 so tool_qmlformat/tool_qmllint default to @dx_qt now would cause analysis failures on the unqualified platforms. The body gives that change to #1760, and it should land after the native cells are qualified. Not stale: origin/main still does not meet the acceptance, because #1760 and #1763 are open.
(no source change under #799): Do not start a worker for Quality adapters: structured cohort (protobuf/qml) #799. The tracker stays open until qt: the pinned Qt SDK is qualified on macOS arm64 and Windows #1760 and qt: Qt/QML apps build and test through the Qt rules on every qualified cell #1763 are closed.quality/tests/qml_format_consumer_test.rs:100: Hand this to qt: Qt/QML apps build and test through the Qt rules on every qualified cell #1763 (first work to ship): fix the rules_jvm_external maven.bzl:815 lock-file clash so the public-CLI lint_and_format_own_only_hand_written_qml case passes. Plan it under qt: Qt/QML apps build and test through the Qt rules on every qualified cell #1763, not Quality adapters: structured cohort (protobuf/qml) #799.config/BUILD.bazel:46: Hand this to qt: the pinned Qt SDK is qualified on macOS arm64 and Windows #1760, after the arm64 and Windows Qt cells are qualified: decide whether tool_qmlformat/tool_qmllint default to the managed @dx_qt launchers. If they do, remove the hint at quality/real_aspects.bzl:441-446 entirely, with no shim.acceptance/v1_inventory.bzl:3201: Hand this to qt: the pinned Qt SDK is qualified on macOS arm64 and Windows #1760/qt: Qt/QML apps build and test through the Qt rules on every qualified cell #1763: when they close, mark the tool.qmlformat (3201) and tool.qmllint (3212) records qualified for the newly measured platform cells. tool.buf (2855) is already covered by Wire and qualify Protocol Buffers quality tooling through the public dx pipeline #1774.Tests: #799 adds no tests. The leaves' existing coverage, for reference when #1763 or #1760 are worked: //quality/tests:qml_format_consumer_test, //quality/tests:qml_lint_consumer_test, //quality/tests:buf_consumer_test, the tool_override_tests in quality/testdata/tool_override_tests.bzl (the expected-failure cases near lines 402 and 411), and the qmllint parser unit tests in quality/adapter/src/parsers/qmllint.rs.
Ship first: Nothing to ship under #799. The first useful work is #1763's maven.bzl:815 lock-file clash fix, as its own planned task.
TrapsterDK commentedon Nov 3, 2026
Plan: tracker only. #1761, #1762 and #1774 are closed. Still open:
Close this when both are closed. No code under this issue.
TrapsterDK commentedon Nov 3, 2026
Tracker check: no code change. Closed leaves: #1761, #1762, #1774. Open children: #1760 (Qt SDK on macOS arm64 and Windows) and #1763 (Qt/QML apps on every qualified cell). Keeping this open until both close.
TrapsterDK commentedon Nov 5, 2026
Tracker check: children #1760 and #1763 are still open; #1761, #1762, #1774 are closed. No code under this issue. Marking blocked until both close.
github-actions commentedon Nov 6, 2026
This issue has the
blockedlabel but noBlocked on:line in its body. Add one naming the blocking issue (#N), a pull request URL, or the owner action. See CONTRIBUTING.md.TrapsterDK commentedon Nov 7, 2026
All children are closed: #1760, #1761, #1762, #1763, #1774 (checked state via gh issue view). No code change under this tracker.