publish-main-base

Orchestrates verified dev-to-main baseline promotion with board validation and rollback.

Updated Jun 9, 2026
One-click install
npx skills add https://github.com/lechao365/AndroidSystemEnhance --skill publish-main-base-lechao365
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: publish-main-base
Source: https://github.com/lechao365/AndroidSystemEnhance/tree/main/harness/skills/publish-main-base
Command: npx skills add https://github.com/lechao365/AndroidSystemEnhance --skill publish-main-base-lechao365

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill requires pyyaml.

What problem does it solve? It automates the risky process of promoting a dev branch to a main baseline by enforcing board-verification receipts, known-issues gates, approval independence checks, and automatic rollback so unverified or unapproved code never reaches main. ## Core Features & Use Cases - Gated Promotion Pipeline: Runs precheck classification, candidate registration, document sync, squash merge, tree-equivalence assertion, and dev rebuild in one orchestrated flow. - Evidence-Based Gates: Requires board-mode pass receipts, package evidence, known-issues clearance, and an externalized approval token before promotion; any unfixable failure blocks promote. - Automatic Rollback: On merge, squash, or push failure it resets main, reverts the candidate registration, and cleans up verified tags and evidence snapshots. - Use Case: After finishing a dev task on an embedded Android project, run the orchestrator to verify changes on hardware, register a candidate baseline, sync docs, and promote a squash commit to main with a full audit trail. ## Quick Start Ask the AI to run the publish-main-base workflow to verify the current dev branch on the board and promote it as a new main baseline.

Frequently Asked Questions about publish-main-base

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I promote a dev branch to main with verification gates?

Run the publish-main-base orchestrator: it prechecks receipts, registers a candidate baseline via baseline_register.py, syncs docs, then promotes with a squash merge to main. Promotion requires a board-mode pass receipt and an externalized approval token.

What happens if the promote step fails during merge or push?

The script invokes rollback_promote, which resets main to origin/main, reverts the candidate registration, deletes the verified tag locally and remotely, and cleans up evidence snapshots. You can then fix the issue and retry safely.

Can I promote without running on-board verification?

Only when dev has no code changes relative to origin/main, which triggers the no-code-change exemption. Otherwise a board-mode pass receipt covering the code changes is mandatory, and skip receipts cannot be promoted.

Why does promote reject my approval token?

The approval check requires LC_PROMOTE_APPROVAL_TOKEN to match the value preset in harness/config/promote-approval.env, and the approver identity must differ from the executor's git identity. Missing files, placeholder tokens, or self-approval are all rejected.

What are the limitations of the known-issues gate?

The gate blocks promotion when the target task has unresolved issues marked origin=introduced or blocking. Open or scheduled issues are only recorded as carried items in the candidate evidence and do not block, so they must be reviewed manually.