Skip to content

Protocol regenerated from devtools-protocol and the generate Gate #42

Closed

Description

@Fly-Playgroud

Parent

Spec: #33 (Baseline release). Section numbers refer to its Implementation Decisions.

What to build

The protocol package matches the Target Chrome, is regenerated from the pinned devtools-protocol schema without a browser, and a Gate fails on any drift between the committed code, the pins and the schema. Spec section 4; ADR-0004; ticket #9.

Acceptance criteria

  • Generator: downloads and merges devtools-protocol's browser and JS JSON at the v0.0.<rev> tag named by the pins (a local schema path for offline use); restores []byte for fields carrying the base64 description marker plus a hand-kept list of marker-less fields (usesigil's list of 21 as the start), fetches the same tag's PDL files and fails when the binary count differs from the []byte fields generated; deprecated entities carry // Deprecated:; the Protocol roll is written beside the protocol version constant; a symbol-level summary of removed, renamed and newly deprecated Go identifiers is emitted for pull-request bodies.
  • The protocol package is regenerated at the pinned roll and committed; experimental and deprecated entities kept; removed entities gone with no stubs; the suite passes against the browser the Gate uses.
  • Generate Gate on linux/amd64: setup, protocol, JS, assets, devices, the pins check mode, then lint with the Node linters from a committed package.json and lockfile under the tools directory run with npm ci, golangci-lint, gofumpt and goimports at pinned versions (no @latest, no bare npx), then an empty git status --porcelain; required on main.
  • The omitempty boolean limitation is recorded in the generator's documentation.

Blocked by

Metadata

Metadata

Assignees

No one assigned

    Labels

    ready-for-agentFully specified, ready for an AFK agent

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions