Add full-surface documentation refresh spec - #1049
Draft
aram356 wants to merge 88 commits into
Draft
Conversation
aram356
marked this pull request as draft
August 20, 2026 06:53
8 tasks
aram356
force-pushed
the
spec-docs-refresh
branch
2 times, most recently
from
August 21, 2026 03:45
392c994 to
087e1a7
Compare
aram356
force-pushed
the
spec-docs-refresh
branch
2 times, most recently
from
August 28, 2026 05:37
d514dc6 to
f27cc1a
Compare
aram356
force-pushed
the
spec-docs-refresh
branch
from
August 28, 2026 21:28
f11ad3c to
0ddbb88
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
mainat2e85a1cdc(VitePress site, root/crate markdown, in-code docs, config templates), every finding cited atfile:line, with ground-truth inventories (routes with per-adapter availability, all 15Settingssections, 14-integration capability matrix,tsCLI tree) as appendices.Changes
docs/superpowers/specs/2026-08-19-documentation-refresh-design.mdsrcExclude, CNAME,fastly.tomlsensitive values, empty/guide/page, gate alignmentRequestWrapper,.with_asset, GAM/Kargo pages, auction README rot,FAQ_POC.md, CHANGELOG/.env.examplerepairsSettingssections and 14 integration configsadserver_mock, script guards; nav repair;TESTING.mdrewriteplatform/docs, crate headers, tsjs JSDoccargo doc -D warnings, doctests in CI, dependabot gapsCloses
Closes #1038
Closes #277
Closes #341
Test plan
cd docs && npm run format(passes on the spec)cd docs && npm run lint && npm run build(after WP commits land)cargo fmt --all -- --checkand target-matched clippy/tests for crates touched by WP7cargo doc --no-depswarning-free for core and adapters (WP7/WP8)mainat2e85a1cdcby four parallel read-only audits, then realigned torc/202608(new[cache]section, admin EC diagnostics routes, restructured CLI)Checklist
Settings parity (WP3)
Generated from the checked settings record at
18f4d6b2eb2abdaef43b0b5f4b8c15d52be3eba0.Settings roots (17/17)
[auction][cache][consent][creative_opportunities][debug][ec][[handlers]][image_optimizer][integrations.*][proxy][publisher][request_signing][response_headers][rewrite][tester_cookie][tinybird][trusted_client_ip]Deploy-validated integration IDs (14/14)
adserver_mockapsdatadomedidomigoogle_tag_managergptgpt_diagnosticslockrnextjsosanopermutiveprebidsourcepointtestlightProvider profile schemas (3/3; 14 fields)
apsprebid-serverstandardDirectional field dispositions (18/18)
The checked axes are lifecycle, key identity, serialization, runtime use, and secret handling.
AssetOriginAuth.s3_sig_v4AssetOriginAuth.s3_sigv4DataDomeConfig.server_side_key_secret_nameDataDomeConfig.server_side_key_secret_storeDataDomeProtectionTestBypassConfig.credential_secret_nameDataDomeProtectionTestBypassConfig.credential_secret_storeEc.passphraseEcPartner.api_tokenEcPartner.ts_pull_tokenHandler.passwordPublisher.proxy_secretS3SigV4AuthConfig.access_key_idS3SigV4AuthConfig.secret_access_keyS3SigV4AuthConfig.secret_storeS3SigV4AuthConfig.session_tokenTinybirdSettings.access_token_secretTinybirdSettings.auction_token_secretTinybirdSettings.secret_storeTrustedClientIpConfig.shared_secretSecret classifications
trusted_client_ip.shared_secretis deliberately inline and may appear in diff/dry-run/confirmation output.tinybird.access_token_secretis accepted, discarded, and omitted from serialized config.secret_storeselectors are accepted and normalized away; none is recommended by the example template.Exact WP3 checks
settings --check,generate --check,snippets --check,classify --check,scan --check,links --local --check, andcheck --allcargo test-fastly config: 12 Fastly adapter tests and 199 core tests selected; no failuresorigin/rc/202608remains07dfc1c6dddf69345ded17bd2d40a3d01bb39bcfAdapter first-success smokes (WP5 deployment)
Hosted receipts use implementation SHA
2f1f11c2cf94cf0b5606e107672d6386d283959a. The Spin receipt was repeated at552dbeebe63aa6c742f2def95565bfcc80076513; the smoke script is byte-identical at both commits.Axum
Sequence: resolve/build
tsand the Axum binary; start an isolated loopback sentinel origin; initialize and strictly validate the app config; runts config push --adapter axum --local; read the generated envelope; launch one isolated Axum process for missing config, each missing secret, and the positive case.Cleanup: the
EXIT INT TERMtrap stops the active Axum process and sentinel origin, then removes the generated temporary workspace and.edgezerostate.Oracle: HTTP 200; body contains
SMOKE_ORIGIN_SENTINEL; rewritten URL targets the Axum listener; original origin URL is absent. Independent failures: missingTRUSTED_SERVER_CONFIG; missinghandlers[0].password; missingpublisher.proxy_secret; missingec.passphrase. Each failure requires HTTP 500, its exact startup diagnostic, and live adapter/origin processes.Receipt: Integration Tests / adapter smoke (Axum).
Fastly
Sequence: resolve/build
tsand release Wasm; start an isolated loopback sentinel origin; initialize and strictly validate the app config; prove/healthis 200 while an unconfigured publisher request fails; runts config push --adapter fastly --local; seed the threets_secretsentries; remove each secret independently; restore all entries and run the positive publisher case throughfastly compute serve.Cleanup: the
EXIT INT TERMtrap stops the active Fastly process and sentinel origin, restoresfastly.tomlbyte-for-byte, restores or removes.fastly.toml.edgezero-lockaccording to its initial state, and removes the temporary workspace.Oracle: HTTP 200; body contains
SMOKE_ORIGIN_SENTINEL; rewritten URL targets the Fastly listener; original origin URL is absent. Independent failures: missing config-store key while health remains 200; missinghandler_password; missingpublisher_proxy_secret; missingec_passphrase. Each publisher failure requires HTTP 500, its exact startup diagnostic, and live Fastly/origin processes.Receipt: Integration Tests / adapter smoke (Fastly).
Cloudflare
Sequence: require the exact Wrangler pin; resolve/build
tsand the Worker bundle; start an isolated loopback sentinel origin; initialize and strictly validate the app config; map the logical store toTRUSTED_SERVER_KV; runts config push --adapter cloudflare --local; readtrusted_server_configback with the explicit binding and local flags; encode the envelope asTRUSTED_SERVER_CONFIG.app_config; generate one isolated Wrangler manifest per missing binding and the positive case; run each withwrangler dev.Cleanup: the
EXIT INT TERMtrap stops the active Wrangler process and sentinel origin and removes the temporary workspace, including generated manifests and local Wrangler KV state.Oracle: HTTP 200; body contains
SMOKE_ORIGIN_SENTINEL; rewritten URL targets the Wrangler listener; original origin URL is absent. Independent failures: missingenv.TRUSTED_SERVER_CONFIG; missingenv.handler_password; missingenv.publisher_proxy_secret; missingenv.ec_passphrase. Each failure requires HTTP 500, a binding inventory that omits only the selected binding while retaining its control binding, the normalized exact diagnostic, and live Wrangler/origin processes.Receipt: Integration Tests / adapter smoke (Cloudflare).
Spin
Sequence: resolve/build
tsand release Wasm; start an isolated loopback sentinel origin; initialize and strictly validate the app config; prove a pre-push publisher request fails; map the logical store todefault; runts config push --adapter spin --local; launch onespin upprocess with each encoded secret variable omitted independently; launch the positive case with all three variables.Cleanup: the
EXIT INT TERMtrap stops the active Spin process and sentinel origin and removes the temporary workspace, including the generated manifest, component logs, and.spin/sqlite_key_value.db.Oracle: HTTP 200; body contains
SMOKE_ORIGIN_SENTINEL; rewritten URL targets the Spin listener; original origin URL is absent. Independent failures: missingdefault/trusted_server_config; missing encoded handler-password variable; missing encoded publisher-proxy-secret variable; missing encoded EC-passphrase variable. Each failure requires HTTP 503, the controlled config-push/one-variable delta, the normalized exact diagnostic, and live Spin/origin processes; a generic degraded-router 503 is insufficient.Time-bounded receipt: local run passed at
552dbeebe63aa6c742f2def95565bfcc80076513with Spin4.1.0(c0b3726, 2026-08-25), Rust1.95.0onaarch64-apple-darwin, and ownerdocumentation-maintainers; expires2026-10-07T00:00:00Z.