Skip to content

docs: clarify product goals and M3 showcase; fix CI regressions - #10

Merged
SShogun merged 2 commits into
mainfrom
codex/product-goals-m3-showcase
Oct 14, 2026
Merged

SShogun merged 2 commits into
mainfrom
codex/product-goals-m3-showcase

Conversation

@SShogun

@SShogun SShogun commented Oct 14, 2026 •

Copy link
Copy Markdown
Owner

GateHouse's README and architecture docs now describe the intended small-deployment workload, distinguish implemented capabilities from future gates, and provide a reproducible M3 walkthrough. The walkthrough demonstrates blue-to-green publication, invalid/stale rejection, revision history and rollback, ACK status, and traffic continuity while management is down. Benchmark execution is deferred under D052; performance targets remain unmeasured.

The first branch push exposed two CI defects. Compatibility checks now use the fetched default branch when GitHub supplies an all-zero previous head, while preserving PR-target and existing-push baselines and rejecting missing refs. The restart integration test now waits for server-persisted boot/build/revision/hash before killing management, with a deterministic delayed-ACK regression. No production Go behavior or protobuf schema changes.

Validation:

  • Both CI regressions captured assertion-level RED and focused GREEN; all ten baseline event cases pass.
  • Go 1.26.9 make verify passed with disposable PostgreSQL 18.6, including full shuffled tests, race, vet, Staticcheck, Buf contracts/fixtures/generated checks, module verification, and govulncheck.
  • The documented M3 walkthrough passed using actual binaries in an isolated normal clone and disposable database.
  • One bounded independent review of the CI corrections found no unresolved blocker. D053, milestone checklists, and evidence are maintained; .empryo/ is excluded.

Hosted CI passed all six jobs (contracts, unit, integration, race, static, security) for exact correction head cdc5e63fd3369bd48d35b00707739eaef394cdf8 in both the push run and pull-request run. This resolves the hosted correction gate left pending in the pre-publication evidence. Local PostgreSQL is 18.6; hosted integration uses 16.

Copilot AI balanced review requested due to automatic review settings October 14, 2026 13:17
@sourcery-ai

sourcery-ai Bot commented Oct 14, 2026

Copy link
Copy Markdown

Sorry @SShogun, you've used your own review budget of 250,000 diff characters for the last 7 days.

You can request another review in 3 days and 3 hours by commenting @sourcery-ai review. Upgrade to get a review now.

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot was unable to review this pull request because the user who requested the review has reached their quota limit.

@sourcery-ai

sourcery-ai Bot commented Oct 14, 2026

Copy link
Copy Markdown

Reviewer's Guide

This documentation-focused PR clarifies GateHouse’s intended small-deployment product, maps each milestone to a concrete evidence-backed showcase, adds a reproducible M3 walkthrough with committed examples, and introduces explicitly pending benchmark contracts and plans while documenting the decision to defer benchmark execution and resume M4 work.

Sequence diagram for M3 dynamic configuration publication

sequenceDiagram
    actor Operator
    participant ControlPlane
    participant PostgreSQL
    participant DataPlane
    participant Upstream

    Operator->>ControlPlane: PublishConfig
    ControlPlane->>ControlPlane: Validate configuration
    ControlPlane->>PostgreSQL: Store revision
    PostgreSQL-->>ControlPlane: Revision committed
    ControlPlane-->>DataPlane: Config stream update
    DataPlane->>DataPlane: Validate and compile snapshot
    DataPlane->>DataPlane: Atomic activation
    DataPlane-->>ControlPlane: ACK revision
    Operator->>DataPlane: HTTP request
    DataPlane->>Upstream: Forward request
    Upstream-->>DataPlane: Response
    DataPlane-->>Operator: Response
Loading

Sequence diagram for M3 rejection, rollback, and control-plane recovery

sequenceDiagram
    actor Operator
    participant ControlPlane
    participant PostgreSQL
    participant DataPlane

    Operator->>ControlPlane: PublishConfig
    ControlPlane->>ControlPlane: Validate configuration
    ControlPlane-->>Operator: InvalidArgument
    DataPlane-->>ControlPlane: Active revision unchanged

    Operator->>ControlPlane: Rollback
    ControlPlane->>PostgreSQL: Store rollback revision
    PostgreSQL-->>ControlPlane: Revision committed
    ControlPlane-->>DataPlane: Config stream update
    DataPlane->>DataPlane: Atomic activation
    DataPlane-->>ControlPlane: ACK revision

    Operator->>ControlPlane: Stop management
    DataPlane->>DataPlane: Retain last-known-good snapshot
    Operator->>DataPlane: HTTP request
    DataPlane-->>Operator: Traffic continues
    Operator->>ControlPlane: Restart management
    DataPlane-->>ControlPlane: Reconnect and report status
Loading

File-Level Changes

Change Details Files
Reframes the product around small HTTP/gRPC deployments and distinguishes implemented behavior, planned milestones, and unmeasured performance hypotheses.
  • Defines target users, product advantage, architecture goals, and current interface boundaries.
  • Replaces the roadmap with milestone-specific showcases and explicit evidence boundaries.
  • Adds links and language separating benchmark targets from measured results, including D052’s deferred execution decision.
README.md
docs/Gatehouse_ARCHITECTURE.md
docs/Gatehouse_PLAN.md
docs/Gatehouse_TESTING_CI.md
Adds a repository-owned, clean-checkout walkthrough for demonstrating M3’s live configuration lifecycle.
  • Documents disposable PostgreSQL setup, control/data-plane startup, blue/green publication, inspection, rejection, rollback, and cleanup.
  • Exercises revision history, diffs, instance ACK state, stale state, and management outage/recovery.
  • Provides committed blue and green example configurations.
docs/Gatehouse_M3_DEMO.md
examples/m3/publish-blue.json
examples/m3/publish-green.json
Adds benchmark contracts and reproducibility plans while keeping all measurements explicitly pending.
  • Defines intended workloads, T01–T09 targets, comparison scope, accounting rules, and publication boundaries.
  • Documents reference-first Caddy/Traefik/Go ReverseProxy plans and a manual VM topology, calibration, artifact, fault, and cleanup process.
  • Adds a target-only benchmark graphic, source JSON, SVG, and renderer.
docs/Gatehouse_PRODUCT_BENCHMARKS.md
docs/Gatehouse_COMPETITOR_BENCHMARK_PLAN.md
docs/Gatehouse_BENCHMARK_VM_PLAN.md
docs/assets/gatehouse-benchmark-targets.json
docs/assets/gatehouse-benchmark-targets.svg
docs/assets/render_benchmark_targets.py
Records product, dependency, benchmark, environment, and scheduling decisions that preserve the boundary between documentation evidence and future implementation.
  • Supersedes the learning-driven dependency restriction with product-outcome-based selection criteria.
  • Records the small-deployment objective, reference-first measurement policy, hands-on benchmark environment, and benchmark deferral.
  • Updates execution and CI documentation with walkthrough verification, known harness correction, and validation limitations.
docs/Gatehouse_DECISIONS.md
docs/Gatehouse_TESTING_CI.md

Tips and commands

Interacting with Sourcery

  • Trigger a new review: Comment @sourcery-ai review on the pull request.
  • Continue discussions: Reply directly to Sourcery's review comments.
  • Generate a GitHub issue from a review comment: Ask Sourcery to create an
    issue from a review comment by replying to it. You can also reply to a
    review comment with @sourcery-ai issue to create an issue from it.
  • Generate a pull request title: Write @sourcery-ai anywhere in the pull
    request title to generate a title at any time. You can also comment
    @sourcery-ai title on the pull request to (re-)generate the title at any time.
  • Generate a pull request summary: Write @sourcery-ai summary anywhere in
    the pull request body to generate a PR summary at any time exactly where you
    want it. You can also comment @sourcery-ai summary on the pull request to
    (re-)generate the summary at any time.
  • Generate reviewer's guide: Comment @sourcery-ai guide on the pull
    request to (re-)generate the reviewer's guide at any time.
  • Resolve all Sourcery comments: Comment @sourcery-ai resolve on the
    pull request to resolve all Sourcery comments. Useful if you've already
    addressed all the comments and don't want to see them anymore.
  • Dismiss all Sourcery reviews: Comment @sourcery-ai dismiss on the pull
    request to dismiss all existing Sourcery reviews. Especially useful if you
    want to start fresh with a new review - don't forget to comment
    @sourcery-ai review to trigger a new review!

Customizing Your Experience

Access your dashboard to:

  • Enable or disable review features such as the Sourcery-generated pull request
    summary, the reviewer's guide, and others.
  • Change the review language.
  • Add, remove or edit custom review instructions.
  • Adjust other review settings.

Getting Help

@SShogun SShogun changed the title docs: clarify product goals and demonstrate M3 docs: clarify product goals and M3 showcase; fix CI regressions Oct 14, 2026
@SShogun
SShogun merged commit 62e4247 into main Oct 14, 2026
13 checks passed
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.

2 participants