You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Commit 660b608
Browse filesBrowse the repository at this point in the historyBrowse files
Copy file name to clipboardExpand all lines: docs/Architecture.md
+6Lines changed: 6 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -32,6 +32,12 @@ classDiagram
32
32
33
33
The additive [AdminDashboard](Features/AdminDashboard.md) slice under [ADR-051](ADR/ADR-051-admin-dashboard.md) hosts the runtime read-only console in `src/KeyLoad.Server/Features/AdminDashboard/Assets/`, with shared Abstractions DTOs, Core catalog/queue readers, matching Client SDK and UnitTests/IntegrationTests slices. It borrows the existing unique Orleans request/read actors and node-local administration; physical observations are explicitly per node. The public benchmark `site/` remains its own surface. Both surfaces share one light visual identity under [ADR-053](ADR/ADR-053-unified-visual-identity.md): the console owns the canonical `brand.css`/`logo.svg`, and the site keeps byte-identical mirrors checked by SiteTests. Exact-SHA dashboard unit/RF3/native browser cases pass and retained desktop/mobile images are visually reviewed; complete recovery/comparison and numeric coverage qualification remains open.
34
34
35
+
[SiteMetadata](Features/BenchmarkComparisons/SiteMetadata.md) extends that identity
36
+
with mirrored PNG/ICO exports, static landing SEO/OG/Twitter/JSON-LD and an authored
37
+
share card. The existing static builder owns root delivery and crawl files; the
38
+
console's finite embedded shell owns only its exact icon routes and noindex.
39
+
Source assets and local rendering do not establish indexing or publication.
40
+
35
41
```mermaid
36
42
flowchart LR
37
43
Admin[Same origin admin console] --> API[AdminDashboard API and MCP]
Copy file name to clipboardExpand all lines: docs/Features/AdminDashboard.md
+5Lines changed: 5 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,5 +1,10 @@
1
1
# AdminDashboard
2
2
3
+
The owner-requested shared favicon export and noindex continuation is specified
4
+
by [SiteMetadata](BenchmarkComparisons/SiteMetadata.md), REQ-SEO-001/005 and
5
+
AC-SEO-001/006 under ADR053. It adds only finite public icon GET/HEAD assets;
6
+
all operational authorization and existing console contracts remain required.
7
+
3
8
Status: source delivered; exact-SHA dashboard unit, RF3 API and native Chrome cases pass, and retained desktop/mobile screenshots are visually reviewed. Complete recovery/comparison and numeric coverage gates remain open; ADR-051 remains Accepted. Owner: KeyLoad lead. User request: attractive runtime administration with sizes, throughput, tables/collections, queues and files.
4
9
5
10
This is the durable requirements and acceptance contract. Architecture and the ordered agent implementation contract are in [ADR-051](../ADR/ADR-051-admin-dashboard.md). Root-level brainstorm, acceptance and plan files are local task scaffolding under the repository ignore policy; delivery evidence belongs here and in `docs/implementation/status.json`.
# BenchmarkComparisons — website discovery and shared icons
2
+
3
+
Owner request 2026-10-03. ADR040/051/053 retain the site build, finite console asset shell and one canonical visual source. The additive ADR053 implementation contract covers this presentation standard. The task acceptance/plan are local scaffolding; this document retains the durable requirements, acceptance and verification contract.
4
+
5
+
Scope: recognizable shared icons for the public landing and operational console, accurate static search/social metadata, and a readable link-preview card. The existing canonical is `https://www.keyload.cloud/`; copy remains English. No logo redesign, dependency, DNS, service worker, analytics, persisted data, public database API or topology change.
6
+
7
+
| Requirement | Acceptance | Owning surface and proof |
8
+
| --- | --- | --- |
9
+
| REQ-SEO-001 shared compatible favicon/touch set | 001 | canonical AdminDashboard Assets, byte-identical site root mirrors; SiteMetadata icon assertions |
10
+
| REQ-SEO-002 accurate static search/social discovery | 002–003 | BenchmarkComparisons index.html, assets/site.webmanifest and existing builder robots/sitemap; emitted HTML/JSON-LD TUnit |
| AC-SEO-001 | Canonical console `logo.svg` and site `favicon.svg` remain unchanged and byte-identical. Six derived binary files are identical across surfaces and emitted output: ICO with bounded 16/32/48 frames; square PNG32/96/180/192/512. Both heads reference SVG, ICO, PNG32/96 and touch180. Landing manifest references local192/512 with scope/start URL `./` and display `browser`. Missing, conflicting or incorrectly sized assets fail. |`SiteMetadataTests` validates actual source/build bytes, formats, dimensions and head references. |
21
+
| AC-SEO-002 | Real built initial HTML has exactly one nonempty title/description, www HTTPS canonical, index/large-preview robots and canonical theme color. Complete OG website/title/description/site_name/url/locale/image/type/1200×630/alt and Twitter large-card/title/description/image/alt agree. Image URL is `https://www.keyload.cloud/og-image.png`. No localhost, conflicting fields, credentials or unsupported readiness/performance claims. Existing H1/navigation/body hooks remain. |`SiteMetadataTests` parses the actual builder head; native browser/manual review retains readable output. |
22
+
| AC-SEO-003 | Valid schema.org JSON-LD describes WebSite and SoftwareSourceCode with stable IDs, actual name/URL/GitHub/C#/MIT. Invented offers, ratings, reviews and search actions are absent. Generated robots/sitemap use the same canonical, allow icon/card fetches, and exclude admin. | Real-output HTML/JSON-LD/robots/sitemap assertions in `SiteMetadataTests`. |
23
+
| AC-SEO-004 | Editable `assets/og-image.svg` and real PNG1200×630 under300KiB use the existing K/palette and readable product message. No measurements or screenshot artifacts. Root `og-image.png` is the exact source PNG. Every manifest/head asset exists. | Signature/IHDR/size/exact-byte assertions; subjective full-size and reduced composition is a manual ADR040/053 exception. |
24
+
| AC-SEO-005 | Builder checks every added source as a regular confined asset before output. Missing/symlink icon or card is rejected without partial output. Existing immutable report/vendor hashes, output confinement and JS/CSS budgets remain mandatory. |`SiteMetadataRejectionTests` mutates isolated source copies and invokes the real builder with authentic reports; existing SiteBuildTests remain. |
25
+
| AC-SEO-006 | Console uses shared icons/theme and `noindex,nofollow`. Only six exact additional embedded public GET/HEAD routes exist, with PNG/ICO MIME, no-store/nosniff and unchanged CSP/referrer policy. Credential-free GET returns valid bytes; HEAD is empty. Unknown assets, POST and database routes gain no public access. Console has no marketing canonical/schema/OG claims. |`AdminFaviconAssertions` joins the existing genuine RF3 `AdminDashboardRf3Tests` shell flow; prior authentication/method/unknown-path assertions remain. |
26
+
| AC-SEO-007 | Preserve unrelated changes, normal current-branch delivery and exact-SHA GitHub run/job/artifact receipts. Source push, local rendering, failed/pending cohorts and skipped suites do not establish publication/indexing/coverage. | Lead review plus real Website/Tests provider results and live asset confirmation after successful deployment. |
27
+
28
+
## Implementation and delivery contract
29
+
30
+
The lead freezes scope/criteria before three disjoint scopes:
31
+
32
+
- Exports: six icon files under `src/KeyLoad.Server/Features/AdminDashboard/Assets/`
33
+
and exact site-root mirrors; `site/Features/BenchmarkComparisons/assets/og-image.svg/png`
34
+
and `site.webmanifest`.
35
+
- Production: only `site/Features/BenchmarkComparisons/index.html` head and
36
+
`build-site.mjs`, plus console `Assets/index.html` head and `AdminStaticAssets.cs`.
37
+
- Regressions: new `SiteMetadata*` files under the existing SiteTests slice,
38
+
new `AdminFaviconAssertions` helpers in IntegrationTests/AdminDashboard, and one
39
+
invocation in `AdminShellAssertions`.
40
+
41
+
The lead owns shared docs, reviews every result and joins all three
42
+
before development/static/manual checks, normal scoped main commit/push, and
43
+
exact-SHA GitHub qualification. A blocked worker does not unblock integration.
44
+
The sequence and boundaries extend ADR053 rather than introducing another
45
+
identity or crawl-file owner. No migration is needed; rollback coherently reverts
46
+
the head, exports, builder copies and finite route additions.
47
+
48
+
Public DTOs, SDK/MCP, persistence, schema migrations, RAM/SIMD and measured operation performance: N/A; static presentation writes none of them. Canonical names remain BenchmarkComparisons for the public site and AdminDashboard for the console, sharing existing identity assets under ADR053. No analytics or service worker is introduced.
49
+
50
+
```mermaid
51
+
flowchart LR
52
+
Logo[Canonical console SVG] --> Icons[Derived PNG and ICO]
53
+
Icons --> Console[Finite public admin icon routes]
54
+
Icons --> Mirror[Byte-identical site icons]
55
+
Card[Authored OG source and PNG] --> Build[Confined static builder]
Acceptance explicitly covers missing/symlink files, invalid dimensions, metadata conflicts, long-text preview readability and unauthorized/unknown routes. Qualification remains GitHub-only. Local development builds and visual inspection are manual/design evidence and do not prove provider cache refresh, indexing, full tests, coverage or publication. The full relevant baseline is recorded in the plan; isolated cohort absence remains a publication blocker.
0 commit comments