Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .claude-plugin/manifest.json
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"name": "boundline",
"displayName": "Boundline Assistant Support for Claude Code",
"version": "0.81.0",
"version": "0.82.0",
"description": "CLI-authoritative assistant support for bounded engineering work",
"author": {
"name": "Apply The",
Expand Down
2 changes: 1 addition & 1 deletion .codex-plugin/plugin.json
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"name": "boundline",
"displayName": "Boundline Assistant Support for Codex",
"version": "0.81.0",
"version": "0.82.0",
"description": "CLI-authoritative assistant support for bounded engineering work",
"author": {
"name": "Apply The",
Expand Down
2 changes: 1 addition & 1 deletion .copilot-prompts/pack.json
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"name": "boundline",
"displayName": "Boundline Copilot Prompt Pack",
"version": "0.81.0",
"version": "0.82.0",
"description": "CLI-authoritative Copilot prompt pack for bounded engineering work",
"author": {
"name": "Apply The",
Expand Down
2 changes: 1 addition & 1 deletion .cursor-plugin/manifest.json
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"name": "boundline",
"displayName": "Boundline Assistant Support for Cursor",
"version": "0.81.0",
"version": "0.82.0",
"description": "CLI-authoritative assistant support for bounded engineering work",
"author": {
"name": "Apply The",
Expand Down
2 changes: 1 addition & 1 deletion .github/copilot-instructions.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
<!-- SPECKIT START -->
For additional context about technologies to be used, project structure,
shell commands, and other important information, read
`specs/080-plan-execution-orchestration/plan.md`
`specs/082-browser-visual-testing-provider/plan.md`
<!-- SPECKIT END -->
2 changes: 1 addition & 1 deletion .specify/feature.json
Original file line number Diff line number Diff line change
@@ -1 +1 @@
{"feature_directory":"specs/081-ai-gateway-economics"}
{"feature_directory":"specs/082-browser-visual-testing-provider"}
8 changes: 4 additions & 4 deletions Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ resolver = "3"
[workspace.package]
# Published release metadata tracks the current public tag; review councils
# and guardian activation router closure is tracked under CHANGELOG 0.74.0.
version = "0.81.0"
version = "0.82.0"
edition = "2024"
license = "MIT"
description = "Bounded cognitive runtime for AI-assisted software delivery."
Expand Down
2 changes: 1 addition & 1 deletion assistant/global/manifest.json
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"name": "boundline-global-assistant-bootstrap",
"display_name": "Boundline Global Assistant Bootstrap",
"version": "0.81.0",
"version": "0.82.0",
"description": "User-scoped assistant bootstrap commands for Boundline before workspace initialization.",
"commands": [
"/boundline:init",
Expand Down
2 changes: 1 addition & 1 deletion assistant/plugin-metadata.json
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"name": "boundline",
"displayName": "Boundline Assistant Support",
"version": "0.81.0",
"version": "0.82.0",
"description": "CLI-authoritative assistant support for bounded engineering work",
"author": {
"name": "Apply The",
Expand Down
4 changes: 4 additions & 0 deletions crates/boundline-adapters/src/adapters.rs
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,10 @@ pub mod approval_manager;
pub mod audit_store;
#[path = "../../../src/adapters/auth_profile_store.rs"]
pub mod auth_profile_store;
#[path = "../../../src/adapters/browser_artifact_store.rs"]
pub mod browser_artifact_store;
#[path = "../../../src/adapters/browser_provider_runtime.rs"]
pub mod browser_provider_runtime;
#[path = "../../../src/adapters/budget_enforcer.rs"]
pub mod budget_enforcer;
#[path = "../../../src/adapters/capability_provider_runtime.rs"]
Expand Down
2 changes: 2 additions & 0 deletions crates/boundline-adapters/src/lib.rs
Original file line number Diff line number Diff line change
Expand Up @@ -8,5 +8,7 @@ pub mod orchestrator;

pub mod registry;

pub use adapters::browser_artifact_store;
pub use adapters::browser_provider_runtime;
pub use adapters::framework_protocol;
pub use orchestrator::framework_catalog;
4 changes: 4 additions & 0 deletions crates/boundline-cli/src/cli.rs
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,8 @@ pub mod index;
pub mod init;
#[path = "../../../src/cli/inspect.rs"]
pub mod inspect;
#[path = "../../../src/cli/inspect_browser.rs"]
pub mod inspect_browser;
#[path = "../../../src/cli/models_auth.rs"]
pub mod models_auth;
#[path = "../../../src/cli/orchestrate.rs"]
Expand All @@ -46,6 +48,8 @@ pub mod run;
pub mod session;
#[path = "../../../src/cli/trace_compaction.rs"]
pub mod trace_compaction;
#[path = "../../../src/cli/validate_browser.rs"]
pub mod validate_browser;
#[path = "../../../src/cli/workflow.rs"]
pub mod workflow;
#[path = "../../../src/cli/workspace.rs"]
Expand Down
2 changes: 2 additions & 0 deletions crates/boundline-core/src/domain.rs
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,8 @@ pub mod audit;
pub mod auth_profile;
#[path = "../../../src/domain/brief.rs"]
pub mod brief;
#[path = "../../../src/domain/browser_provider.rs"]
pub mod browser_provider;
#[path = "../../../src/domain/calibration.rs"]
pub mod calibration;
#[path = "../../../src/domain/capability_provider.rs"]
Expand Down
6 changes: 3 additions & 3 deletions distribution/channel-metadata.toml
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
# The latest published Boundline line is 0.76.0.
boundline_version = "0.81.0"
boundline_version = "0.82.0"
# canon_version is the explicit Canon compatibility target for this release.
# Keep it pinned so Boundline can be prepared before the Canon tag is public.
canon_version = "0.72.5"
canon_version = "0.72.6"
source_fallback = "cargo install --path ."

[channels.homebrew]
Expand All @@ -21,4 +21,4 @@ manifest_root = "distribution/winget/manifests/a/ApplyThe/Boundline/0.76.0"
install_command = "winget install ApplyThe.Boundline"
update_command = "winget upgrade ApplyThe.Boundline"
bundle_name = "boundline-bundle-0.76.0-windows-x86_64.zip"
canon_asset = "https://github.com/apply-the/canon/releases/download/0.72.5/canon-0.72.5-windows-x86_64.zip"
canon_asset = "https://github.com/apply-the/canon/releases/download/0.72.6/canon-0.72.6-windows-x86_64.zip"
10 changes: 5 additions & 5 deletions distribution/homebrew/Formula/boundline.rb
Original file line number Diff line number Diff line change
Expand Up @@ -3,16 +3,16 @@
class Boundline < Formula
desc "Local delivery orchestrator for bounded engineering work"
homepage "https://github.com/apply-the/boundline"
url "https://github.com/apply-the/boundline", using: :git, tag: "0.81.0"
version "0.81.0"
url "https://github.com/apply-the/boundline", using: :git, tag: "0.82.0"
version "0.82.0"
license "MIT"

head "https://github.com/apply-the/boundline", branch: "main", using: :git

depends_on "rustup" => :build

resource "canon-source" do
url "https://github.com/apply-the/canon", using: :git, tag: "0.72.5"
url "https://github.com/apply-the/canon", using: :git, tag: "0.72.6"
end

def install
Expand Down Expand Up @@ -45,13 +45,13 @@ def install

def caveats
<<~EOS
Run boundline doctor --install after install or upgrade to verify the Boundline 0.81.0 + Canon 0.72.5 pairing.
Run boundline doctor --install after install or upgrade to verify the Boundline 0.82.0 + Canon 0.72.6 pairing.
EOS
end

test do
assert_match version.to_s, shell_output("#{bin}/boundline --version")
assert_match "0.72.5", shell_output("#{bin}/canon --version")
assert_match "0.72.6", shell_output("#{bin}/canon --version")
end

private
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
PackageIdentifier: ApplyThe.Boundline
PackageVersion: 0.82.0
InstallerType: zip
NestedInstallerType: portable
Commands:
- boundline
- canon
Installers:
- Architecture: x64
InstallerUrl: https://github.com/apply-the/boundline/releases/download/0.82.0/boundline-bundle-0.82.0-windows-x86_64.zip
InstallerSha256: REPLACE_WITH_WINDOWS_X86_64_SHA256
NestedInstallerFiles:
- RelativeFilePath: boundline.exe
PortableCommandAlias: boundline
- RelativeFilePath: canon.exe
PortableCommandAlias: canon
ManifestType: installer
ManifestVersion: 1.6.0
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
PackageIdentifier: ApplyThe.Boundline
PackageVersion: 0.82.0
PackageLocale: en-US
Publisher: Apply The
PublisherUrl: https://github.com/apply-the/boundline
PublisherSupportUrl: https://github.com/apply-the/boundline/issues
Author: Apply The
PackageName: Boundline
PackageUrl: https://github.com/apply-the/boundline
ShortDescription: Boundline is a local delivery orchestrator for bounded engineering work.
Description: |
Boundline is a local delivery orchestrator for bounded engineering work.
It owns orchestration, bounded planning, execution,
validation, and session continuity. The Windows release bundle installs both
boundline and a compatible Canon companion so boundline doctor --install can verify
the supported pairing after install or upgrade.
Moniker: boundline
License: MIT
LicenseUrl: https://github.com/apply-the/boundline/blob/main/LICENSE
ReleaseNotesUrl: https://github.com/apply-the/boundline/blob/main/CHANGELOG.md
ManifestType: defaultLocale
ManifestVersion: 1.6.0
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
PackageIdentifier: ApplyThe.Boundline
PackageVersion: 0.82.0
DefaultLocale: en-US
ManifestType: version
ManifestVersion: 1.6.0
2 changes: 1 addition & 1 deletion docs/governance/guardians.md
Original file line number Diff line number Diff line change
Expand Up @@ -112,4 +112,4 @@ Expect the plan and inspect output to show relevant context, guidance sources, v

## Source Reference

See [Extending the Guidance Catalog](https://github.com/apply-the/boundline/blob/0.81.0/tech-docs/guides/extending-guidance-catalog.md) for pack authoring details.
See [Extending the Guidance Catalog](https://github.com/apply-the/boundline/blob/0.82.0/tech-docs/guides/extending-guidance-catalog.md) for pack authoring details.
2 changes: 1 addition & 1 deletion docs/guide/common-workflows.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

Use this page while operating the main session-native Boundline loop.

Boundline 0.81.0 ships the current planning-readiness chain. When the plan
Boundline 0.82.0 ships the current planning-readiness chain. When the plan
needs a missing validation strategy, when Canon only produced a closure-limited
backlog packet, when the full packet still lacks an execution handoff, or when
planning analysis finds a contradiction between the selected slice, validation
Expand Down
4 changes: 2 additions & 2 deletions docs/guide/introduction.md
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
# Boundline

> [!TIP]
> This wiki is aligned with **Boundline 0.81.0**. For older versions, refer to the repository tags.
> This wiki is aligned with **Boundline 0.82.0**. For older versions, refer to the repository tags.

![Boundline - Bounded Delivery Runtime](https://github.com/apply-the/boundline/blob/0.81.0/tech-docs/images/boundline-banner.jpg?raw=true)
![Boundline - Bounded Delivery Runtime](https://github.com/apply-the/boundline/blob/0.82.0/tech-docs/images/boundline-banner.jpg?raw=true)

**The local delivery orchestrator for bounded engineering work.** Turn goals into executed plans safely, without losing control to an opaque AI loop.

Expand Down
2 changes: 1 addition & 1 deletion docs/runtime/inspect.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# Inspect

`inspect` explains why the Boundline 0.81.0 runtime chose the current plan or blocked
`inspect` explains why the Boundline 0.82.0 runtime chose the current plan or blocked
handoff.

## What To Read
Expand Down
2 changes: 1 addition & 1 deletion docs/runtime/phase-requests.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# Phase Requests

Boundline 0.81.0 uses `phase_request` as the single recovery handoff for goal
Boundline 0.82.0 uses `phase_request` as the single recovery handoff for goal
clarification, plan-quality clarification, backlog-quality clarification, and
planning-stage artifact requests.

Expand Down
2 changes: 1 addition & 1 deletion docs/runtime/plan.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# Plan

Boundline 0.81.0 makes planning readiness a runtime gate, not a chat
Boundline 0.82.0 makes planning readiness a runtime gate, not a chat
convention.

## What `plan` Does
Expand Down
2 changes: 1 addition & 1 deletion docs/runtime/status.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# Status

`status` is the quickest read on the Boundline 0.81.0 planning gates.
`status` is the quickest read on the Boundline 0.82.0 planning gates.

## What To Look For

Expand Down
2 changes: 1 addition & 1 deletion docs/runtime/trace.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# Traces And Inspectability

Boundline 0.81.0 traces make delivery explainable. They preserve what the runtime decided, what it used as evidence, what it ran, what it skipped, what failed, and what should happen next.
Boundline 0.82.0 traces make delivery explainable. They preserve what the runtime decided, what it used as evidence, what it ran, what it skipped, what failed, and what should happen next.

## Where Traces Live

Expand Down
2 changes: 1 addition & 1 deletion roadmap/Next - forward-roadmap.md
Original file line number Diff line number Diff line change
Expand Up @@ -42,7 +42,7 @@ feature under `specs/`.
| **18** | [completion-verification-runtime.md](features/18-completion-verification-runtime.md) | Delivered in 0.80.0: fresh-proof gate before task or stage completion |
| **19** | [plan-execution-orchestration.md](features/19-plan-execution-orchestration.md) | In Progress (spec 080): sequential execution control plane with dependency ordering, checkpoint/restore, blocked-task handling, and additive status projection |
| **20** | [ai-gateway-and-inference-economics.md](../specs/081-ai-gateway-economics/spec.md) | In Progress: route telemetry, cost budgets, tiered model routing, spend exception approval |
| **21** | [browser-and-visual-testing-provider.md](features/21-browser-and-visual-testing-provider.md) | Next: browser validation as a provider over the protocol |
| **21** | [browser-and-visual-testing-provider.md](../specs/082-browser-visual-testing-provider/spec.md) | In Spec: browser validation as a provider over the protocol |
| **22** | [session-memory-and-repository-knowledge-distillation.md](features/22-session-memory-and-repository-knowledge-distillation.md) | Next: confirmation-first trace distillation |
| **23** | [experimental-recursivemas-provider-adapter.md](features/23-experimental-recursivemas-provider-adapter.md) | Experimental: external latent-space provider research track |

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ This snapshot preserves the Canon provider-side release contract needed for Boun
contract_line = "governed_reasoning_posture_v1"
boundline_min = "0.75.0"
boundline_max_exclusive = "0.75.0"
canon_min = "0.72.5"
canon_min = "0.72.6"
canon_max_exclusive = "0.68.0"
required_profile_family = "blind_review"
admission_priority = "required_before_acceptance"
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
# Specification Quality Checklist: Browser And Visual Testing Provider

**Purpose**: Validate specification completeness and quality before proceeding to planning
**Created**: 2026-06-19
**Feature**: [spec.md](../spec.md)

## Content Quality

- [x] No implementation details (languages, frameworks, APIs)
- [x] Focused on user value and business needs
- [x] Written for non-technical stakeholders
- [x] All mandatory sections completed

## Requirement Completeness

- [x] No [NEEDS CLARIFICATION] markers remain
- [x] Requirements are testable and unambiguous
- [x] Success criteria are measurable
- [x] Success criteria are technology-agnostic (no implementation details)
- [x] All acceptance scenarios are defined
- [x] Edge cases are identified
- [x] Scope is clearly bounded
- [x] Dependencies and assumptions identified

## Feature Readiness

- [x] All functional requirements have clear acceptance criteria
- [x] User scenarios cover primary flows
- [x] Feature meets measurable outcomes defined in Success Criteria
- [x] No implementation details leak into specification

## Notes

- Validated during `/speckit.specify` generation on 2026-06-19.
- Revalidated after `/speckit.clarify` session on 2026-06-19 (5 questions answered).
- Revalidated after `/speckit.analyze` session on 2026-06-20 (17 findings across CRITICAL/HIGH/MEDIUM/LOW; all resolved).
- The spec references Playwright as suggested technology but keeps the specification technology-agnostic.
- First slice bounded to single-URL screenshot + console capture (P1); DOM/a11y (P2), interaction scripts + visual diff (P3) are additive.
- All 26 FRs individually testable. StepStatus aligned with data-model; CLI structure aligned across spec/plan/tasks.
- 102 tasks generated; Phase 8 (Roadmap Conversion) + Final Phase (Release, Quality, Verification) added per boundline wrapper rules.
- Edge cases: file-download-on-load, malformed JSON, artifact size limit all have dedicated tasks.
- Roadmap seed copied to `feat-browser-and-visual-testing-provider.md` in spec folder.
Loading
Loading