Skip to content

Sync Boatstack from Intelligence Flow Labs @ 5f4dda1585d8 - #84

Closed
operator-stack-publisher[bot] wants to merge 1 commit into
mainfrom
sync/intelligence-flow-5f4dda1585d8
Closed

Sync Boatstack from Intelligence Flow Labs @ 5f4dda1585d8#84
operator-stack-publisher[bot] wants to merge 1 commit into
mainfrom
sync/intelligence-flow-5f4dda1585d8

Conversation

@operator-stack-publisher

Copy link
Copy Markdown
Contributor

What this sync releases

Boatstack helps repositories that cannot yet produce evidence

When a feature needs visual evidence but the repository has no command to produce
it, Boatstack now guides you to set one up instead of silently leaving a gap. A
new provision-capability operation detects the repository's frontend stack
(framework, package manager, and whether Playwright, Cypress, or Storybook are
present) and returns a context-aware guide: the framework-agnostic contract the
in-repository capture harness must satisfy, plus stack-tailored steps to build
it. Boatstack ships the contract and the guide, never the harness itself.

capability-register then records the repository-owned command in one step,
keeping the canonical .boatstack-project.json source and every generated file
in sync (or round-tripping the generated configuration alone when there is no
source). Once registered, provisioning reports the capability as available and
capture-evidence can run.

Planning is aware of this too: when a visual scenario is relevant but no capture
command resolves, auto-plan surfaces a material provisioning decision with tiered
paths — provision now as its own delivery slice, bundle the harness into the
feature slice, or record the gap and defer. It remains a surfaced choice;
Boatstack never imposes a frontend framework.

Boatstack can now capture PR visual evidence for you

A new capture-evidence operation turns a repository's declared visual scenarios
into trusted PR evidence without manual screenshotting. It resolves the
repository-owned capability command, reads the scenarios recorded in the feature
plan, and runs each one as a supervised, fingerprinted operation — retrying a
flaky capture within a bounded budget and reusing a successful capture on the
same commit instead of re-running it.

Each screenshot the harness produces is conformance-checked before it is
ingested: the manifest is stamped to the current head commit and product diff, so
pr-context trusts it as PASS only while it still matches the change under
review. A harness that reports success but produces a non-conformant artifact
fails closed — capture never records evidence it cannot stand behind.

Boatstack ships the capture contract, not the harness. The repository owns a
visual (or screenshot/e2e) command that renders one PNG per scenario, and
Boatstack invokes it through a stable environment-variable contract
(BOATSTACK_CAPTURE_SCENARIO_ID, _ENTRY, _STATE, _VIEWPORT, _OUTPUT).

Evidence capabilities are now a shared, extensible substrate

Boatstack's PR evidence detection is no longer hard-wired to a single evidence
type. A generic evidence-capability registry now backs the "can this repository
produce the evidence?" cut, and visual evidence is its first tenant. Nothing
changes in how visual evidence behaves today — the same repository commands,
statuses, and fingerprints — but the shared spine means future evidence types
(and the upcoming capture and provisioning flows) plug in through one registry
instead of a bespoke path each time.

Publishing toolkit moved to a standalone package

The labkit toolkit that projects Boatstack into this repository moved from a
submodule of the monorepo's Python package to a standalone top-level labkit/
project, invoked as python -m labkit. This only changes where the publishing
tooling lives and how the sync workflow installs it; the projected files are
byte-for-byte identical (asserted by the golden reproduction test), with no
effect on Boatstack's runtime, CLI, skill, or public contract.

Projection provenance

Generated from operatorstack/intelligence-flow@5f4dda1585d8032019dd0ed2c3b8ea264abfcf4d.
Review provenance, tests, examples, and context-cost changes before merging.

@bigboateng

Copy link
Copy Markdown
Contributor

Closing: superseded stale sync. Intermediate snapshot from the old workflow; conflicts with main after the labkit control-plane migration (#83) and upstream has advanced past this commit. A fresh engine-driven sync for the current tip replaces it.

@bigboateng bigboateng closed this Jul 23, 2026
@bigboateng
bigboateng deleted the sync/intelligence-flow-5f4dda1585d8 branch July 23, 2026 20:07
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant