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
20 changes: 10 additions & 10 deletions .fleet/design-review.json
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
"$schema": "fleet.design-review.v1",
"version": 1,
"project": "knowledge-base",
"target": "Knowledgebase changelog",
"target": "public Knowledgebase landing recovery",
"mode": "preserve",
"register": "product",
"context": {
Expand All @@ -14,29 +14,29 @@
"probes": [],
"selected": "existing-design",
"approval": "not-required",
"before": ".fleet/evidence/changelog/before-1440.png"
"before": ".fleet/evidence/public-landing/before-1440.png"
},
"evidence": {
"screenshots": [
{
"width": 390,
"path": ".fleet/evidence/changelog/after-390.png"
"path": ".fleet/evidence/public-landing/after-390.png"
},
{
"width": 768,
"path": ".fleet/evidence/changelog/after-768.png"
"path": ".fleet/evidence/public-landing/after-768.png"
},
{
"width": 1440,
"path": ".fleet/evidence/changelog/after-1440.png"
"path": ".fleet/evidence/public-landing/after-1440.png"
}
],
"projectCheck": {
"command": "cd app && pnpm build",
"command": "cd landing-astro && pnpm run check",
"status": "pass"
},
"critique": {
"score": 35,
"score": 36,
"maximum": 40
},
"audit": {
Expand All @@ -52,15 +52,15 @@
"findings": []
},
"browserReview": {
"tool": "Playwright with mocked local read-only session/project responses",
"tool": "Playwright local static preview",
"viewports": [390, 768, 1440],
"horizontalOverflow": false,
"consoleErrors": 0,
"note": "The Access-protected changelog was inspected at all required widths without production credentials. The existing icon-only mobile sidebar retains aria labels; the new content and links remain fully visible."
"note": "Preserve-mode review verified the public/private boundary, inspectable illustrative citations, keyboard focus, responsive composition, and final access CTA. The Fleet agent auditor separately passed 10/10 checks at S-tier."
}
},
"ownerFeedback": {
"decision": "delegated",
"note": "Owner explicitly delegated agents to build first-party changelogs across all projects."
"note": "Owner explicitly approved all issue work in this session and delegated completion within the standing Fleet constraints."
}
}
66 changes: 66 additions & 0 deletions .fleet/design-reviews/changelog.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,66 @@
{
"$schema": "fleet.design-review.v1",
"version": 1,
"project": "knowledge-base",
"target": "Knowledgebase changelog",
"mode": "preserve",
"register": "product",
"context": {
"product": "PRODUCT.md",
"design": "DESIGN.md"
},
"direction": {
"references": [],
"probes": [],
"selected": "existing-design",
"approval": "not-required",
"before": ".fleet/evidence/changelog/before-1440.png"
},
"evidence": {
"screenshots": [
{
"width": 390,
"path": ".fleet/evidence/changelog/after-390.png"
},
{
"width": 768,
"path": ".fleet/evidence/changelog/after-768.png"
},
{
"width": 1440,
"path": ".fleet/evidence/changelog/after-1440.png"
}
],
"projectCheck": {
"command": "cd app && pnpm build",
"status": "pass"
},
"critique": {
"score": 35,
"maximum": 40
},
"audit": {
"score": 19,
"maximum": 20
},
"unresolved": {
"p0": 0,
"p1": 0
},
"detector": {
"posture": "advisory",
"findings": []
},
"browserReview": {
"tool": "Playwright with mocked local read-only session/project responses",
"viewports": [390, 768, 1440],
"horizontalOverflow": false,
"consoleErrors": 0,
"note": "The Access-protected changelog was inspected at all required widths without production credentials. The existing icon-only mobile sidebar retains aria labels; the new content and links remain fully visible."
}
},
"ownerFeedback": {
"decision": "delegated",
"note": "Owner explicitly delegated agents to build first-party changelogs across all projects."
}
}
Binary file added .fleet/evidence/public-landing/after-1440.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added .fleet/evidence/public-landing/after-390.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added .fleet/evidence/public-landing/after-768.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added .fleet/evidence/public-landing/before-1440.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Original file line number Diff line number Diff line change
@@ -0,0 +1,60 @@
---
target: public Knowledgebase landing recovery
total_score: 36
max_score: 40
na_heuristics: ""
p0_count: 0
p1_count: 0
timestamp: 2026-07-31T01-00-41Z
slug: landing-astro-src-pages-index-astro
---
## Design Health

Final finish-review score: **36/40**. The preserve-mode recovery retains the
incumbent black, white, and teal evidence-console identity while making the
public/private boundary and Access transition explicit.

## Design specificity

The information architecture is product-specific: promise, inspectable
illustrative citation, retrieval process, privacy boundary, then authenticated
entry. The visual language remains intentionally close to the established
developer-tool landing rather than inventing a replacement identity.

The deterministic detector reported no findings in the changed page and
layout. Browser review at 390, 768, and 1440 pixels found no final horizontal
overflow or console errors.

## What works

- The evidence console makes the “cited or it did not happen” invariant
tangible, including expandable source excerpts.
- Public product truth is clearly separated from indexed material, operator
state, authenticated routes, and retrieval services.
- Keyboard focus, heading semantics, touch targets, contrast, responsive
stacking, and reduced-motion handling are coherent.

## Priority issues resolved

- **P1:** Inert citation labels were replaced with inspectable source excerpts.
- **P1:** Tablet overflow from the hero width plus offset was corrected.
- **P2:** Evidence text blur was removed.
- **P2:** Mobile and tablet touch targets were raised to at least 44 pixels.
- **P2:** Access is explicit in the primary action, and a final mobile action
follows the privacy explanation.

## Persona checks

- **Jordan, first-timer:** The app action now says sign-in and the public brief
remains available without authentication.
- **Riley, stress tester:** The illustrative answer can be inspected against
two source excerpts, and the public-output checker rejects private endpoint
and credential-shaped leakage.
- **Casey, mobile:** The page stacks without overflow, uses full-width primary
actions, and repeats the sign-in action at the end of the reading journey.

## Remaining observations

No unresolved P0 or P1 issue remains. More visual invention would be an
overhaul rather than a preservation recovery and would risk drifting from the
approved incumbent identity.
17 changes: 16 additions & 1 deletion PROJECT_STATUS.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
> Update this file when durable current or shipped product truth changes. Do
> not let deploy-version snapshots accumulate here — put those in the archive.

Last updated: 2026-07-30
Last updated: 2026-07-31

## Why / What

Expand All @@ -22,6 +22,13 @@ the non-negotiable product invariant.

## Timeline

- **2026-07-31** — Recovered an independently buildable public landing source
under `landing-astro/`, separate from the Access-protected dashboard and RAG
Worker. One typed public-route registry now drives the HTML landing,
substantive Markdown, `/api/ai`, `llms.txt`, robots, and an HTML-only
sitemap. The local production build passes the Fleet agent-readiness audit
at S-tier with 100% route Markdown coverage and 100% catalog integrity.
Production Pages configuration and deployment are unchanged.
- **2026-07-31** — Replaced route-presence inference in the S-grade ingestion
score with exercised idempotent replay, chunk-preview/reprocess, and
classified-failure evidence. Added a typed `/v1/kb/query` HTTP compatibility
Expand All @@ -35,11 +42,19 @@ Historical milestones live in
## Products

- Worker RAG API and operator `/ui`.
- Public product landing source in `landing-astro/`, intended for the existing
`knowledgebase-landing` Pages project; source recovery is complete but the
production project has not been changed or redeployed.
- Access-protected dashboard at `https://search.sassmaker.com`.
- Product-owned release history at `https://search.sassmaker.com/changelog`.

## Features (shipped)

- **Public discovery source:** the independently built landing keeps public
product truth separate from authenticated operator and retrieval surfaces.
Its one route has a substantive Markdown counterpart plus shared
`/api/ai`, `llms.txt`, robots, and sitemap coverage; local boundary checks
reject Worker endpoints and credential-shaped output.
- **Runtime:** Cloudflare Worker is the only RAG runtime. Python FastAPI
service, Python UI, Docker Compose, and the sibling `../rag-service` repo
are retired. `audit:sibling-rag-service --require-retired` stays green.
Expand Down
3 changes: 3 additions & 0 deletions landing-astro/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
dist/
.astro/
node_modules/
15 changes: 15 additions & 0 deletions landing-astro/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
# Knowledgebase public landing

This package owns the static public product explanation for
`knowledgebase.sassmaker.com`. It is intentionally separate from the
Cloudflare Access-protected operator dashboard in `../app/` and from the RAG
Worker in `../cloudflare/worker/`.

```bash
pnpm install
pnpm run check
```

The expected Pages build root is `landing-astro` and the build output is
`dist`. Updating the Pages project or deploying this output is separate,
manually authorized release work.
11 changes: 11 additions & 0 deletions landing-astro/astro.config.mjs
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
import { defineConfig } from "astro/config";

export default defineConfig({
site: "https://knowledgebase.sassmaker.com",
output: "static",
trailingSlash: "never",
build: {
format: "file",
inlineStylesheets: "always",
},
});
28 changes: 28 additions & 0 deletions landing-astro/package.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
{
"name": "knowledgebase-public-landing",
"version": "0.2.0",
"private": true,
"type": "module",
"description": "Static public product landing for Knowledgebase.",
"packageManager": "pnpm@10.33.2",
"engines": {
"node": ">=22.12"
},
"scripts": {
"dev": "astro dev",
"typecheck": "astro check",
"build": "astro build",
"agent:check": "node scripts/check-agent-surfaces.mjs",
"check": "pnpm run typecheck && pnpm run build && pnpm run agent:check"
},
"devDependencies": {
"@astrojs/check": "0.9.6",
"astro": "7.1.6",
"typescript": "5.9.3"
},
"pnpm": {
"overrides": {
"sharp": "0.35.0"
}
}
}
Loading
Loading