Repository navigation
Description
Priority: P0, explicitly requested for the redesign. Accountable repository agent: durable-workflow-github-io. General coordinates the shared identity and cross-repository delivery.
The current product presents different identities across its sites. Implement the supplied redesign so users retain one product identity while moving between the main documentation, Python, Rust, PHP, Cloud and status surfaces.
Design authority
- One Identity redesign.
- Supplied eight-page
Durable Workflow — One IdentityPDF, SHA2565a71d08636a1e2714e8dd4b6561ce0a619453c842de4de647cc3e345f7706e50. - This repository's exact reference:
Main.dc.html, SHA256c992bf43b7c7492f181bc1b8045812dc2a6c85a33bbdbe0be64f714234825187. The verified original export and shared identity export are being handed to the assigned agent through the existing private artifact channel; do not put private storage/workspace details into public source.
Scope and acceptance
Own the canonical shared brand specification/assets and apply the identity to the existing main website and documentation chrome. The design system artboard specifies the product's visual language; retain the site's real documentation and onboarding content.
Repository acceptance:
- Publish the reusable token/logo/chrome specification in the existing repository structure so PHP/Python/Rust/Cloud owners can implement the identical identity without inventing language-specific themes or a new build/controller framework. Coordinate the common link map and footer/status semantics with those owners; their source work can proceed in parallel from the supplied references.
- Apply the shared header, SDK switcher, typography, colors, components and footer to the main site/docs shell, including localized and historical-version pages. Preserve version selection, existing examples, embedded Laravel onboarding and stable-v1 routes.
- Keep currently published Workflow2.20.4 facts distinct from the separate unreleased2.21 support work in#481/Preview Workflow 2.21 platform support and upgrade guidance #482. The redesign is an independent P0 source task and does not wait for or publish2.21.
Implement the supplied One Durable Workflow redesign faithfully in this repository's existing site components. The exported HTML is a visual specification; its support.js and bundled React runtime are reference-viewer files, not production dependencies.
Shared acceptance:
- Use the unchanged canonical flowchart SVG, original colors/proportions, and
Durable Workflow / <surface>lockup. Surface names are lowercase JetBrains Mono in Durable Green; dark mode uses Mint and the logo's Paper chip (8px radius, 4px padding). Remove the competing DW/generic marks. - Apply the same light-default, dark-opt-in palette, Space Grotesk600 headings, Inter400/500/600 text and JetBrains Mono code/labels. Keep code blocks Ink in both themes, 6px/44px actions, 8px bordered cards, the reference spacing/hierarchy, and status-only amber/red/blue.
- Use the common Docs / SDKs / Cloud / Pricing / Status navigation, keyboard-accessible Python/Rust/PHP SDK switcher, current-surface treatment and contextual CTA. Keep the four-column Brand / SDKs / Run / Project footer. Its linked status pill must reflect accepted current status or an honest unknown/stale state; the mock's static green text is not health evidence.
- Keep working URLs, page anchors, search, API/reference navigation, compatibility and legal links. Make the layout work at desktop, tablet and narrow mobile widths, with keyboard/focus/contrast, semantic landmarks and working copy controls; code scrolling stays inside its block.
- Use actual published package/support facts and real service data. The mock's versions, example output, dates, prices and health percentages are not new release, support, billing or availability authority.
- Return an ordinary draft PR, current-head required checks, built-page screenshots in both themes at representative desktop/mobile widths, functional link/copy/navigation checks, and the actual deployment/live verification through the repository's existing protected flow. Preserve current operating, publication and credential boundaries.
Canonical shared values, ordered as Paper / Surface / Ink / Ink2 / Muted / Line / Action / Tint:
- Light:
#F6F7F5 / #FFFFFF / #0F1513 / #3B4541 / #5E6964 / #DDE2DF / #0F7A52 / #E3F4EC. - Dark:
#0F1513 / #172019 / #E8EDEA / #B7C2BD / #9AA6A1 / #2E3934 / #5FE0A6 / #123B2A. - Display: Space Grotesk600, H1 56–72 / H2 32–40 / H3 20, display tracking−0.03em, scaled responsively. Body: Inter, lede18–20 / body16 / UI14 / small13, line height1.5. Code13–15 and eyebrows12 uppercase/+0.08em: JetBrains Mono.
- Original supplied logo SVG: 3,087 bytes, SHA256
24e3ef905304b6bbb255ca7855cb47d2e9712d7af82dcfbea15570851ee091f8.
Repository delivery map
- Main website/shared identity: this issue, owned by
durable-workflow-github-io. - PHP docs: P0: Redesign the PHP SDK documentation using One Identity sdk-php#315 —
sdk-php. - Python docs: P0: Redesign the Python SDK documentation using One Identity sdk-python#285 —
sdk-python. - Rust docs: P0: Redesign the Rust SDK documentation using One Identity sdk-rust#216 —
sdk-rust. - Cloud pricing and public status:
cloudowns both surfaces in its owning repository. Keep private operating records there; use this public issue for the shared product identity/specification.
All repository tasks are P0. Source work can proceed concurrently from the verified design; the website agent owns reconciliation of shared token/logo/link-map differences. Each owner retains implementation, normal qualification and actual deployed-page acceptance.
Activity
rmcdaniel commentedon Nov 5, 2026
General's P0 delivery decision: the identity redesign is a documentation/site change and can ship independently of a new SDK or Workflow release. Where the current publisher checks out an entire SDK tag, owners may author a narrow source change that builds the reviewed documentation chrome/assets from an immutable docs revision while keeping API extraction, examples requiring SDK behavior, package identity and compatibility facts bound to the exact intended published SDK revision. Emit distinct, truthful docs-source and SDK/package-source revisions in the existing audit/artifact manifest.
Current-main API or unpublished compatibility must not leak into the stable channel, and a new package tag must not be fabricated to carry a styling update. Preserve current protected tag/channel inputs and checks; return a concrete changed source/SDK pair, source audit, publisher trigger/effect graph and built desktop/mobile comparisons before its actual deployment decision. Any source split must prove the stable content still comes from the accepted package, rather than merely changing a version badge. Use the current repository's build primitives and ordinary protected qualification; no generic workflow/ref exception or blocked-review route is introduced.
This applies to the five P0 redesign tickets. It does not publish unreleased Workflow2.21 or PHP3.10, change commercial/orderability terms, or alter any separately held SDK/native operating work. Website483 retains the common visual/link/status contract; individual repo owners retain their explicit publisher and live acceptance.
rmcdaniel commentedon Nov 5, 2026
The shared footer's final acceptance includes a working live-status pill, as the supplied artboard specifies. Use the existing public status snapshot/freshness contract with an anonymous read; the normal successful path must display the current aggregate public state and link to the status page. The current public API is available at https://status.durable-workflow.com/api/current.json.
Unknown/stale/offline is the required fallback, rather than a permanent substitute for the live path. Never bake an operational assertion into the static build, use the mock's100% as measured uptime, or surface private/internal component rows. Coordinate any necessary public-read CORS/CSP changes with the Cloud owner in the existing status service; there is no new status service, account, credential or SDK-runtime telemetry. Respect the accepted freshness/severity/visibility semantics, bound browser requests and preserve accessibility. Prove fresh operational, degraded/incident, stale/unknown and unavailable-response behavior in the built-page checks.
If a source checkpoint initially has only an honest status link, keep the issue open for the live-pill acceptance. All five sites must converge on the same behavior and fallback wording; the website owner coordinates this small shared frontend contract with Cloud.
rmcdaniel commentedon Nov 5, 2026
Security public-status interface readback — corrected exact-origin record.
Anonymous
GET https://status.durable-workflow.com/api/current.jsonwas healthy and useful as live happy-path authority at the original2026-11-05T21:36:08Zreadback: HTTP 200,Content-Type: application/json,Cache-Control: no-store, 2,517 bytes, SHA-256d0c21f1fbca30cbb803d9fde4a6c57cce2bded0cab702d76ea8654bd79aaeed3. The body was schemadurable_workflow.status_page_snapshot.v1, generated at21:36:01Z, checked at21:36:00Z,status=ok, with explicit freshness (fresh, age 7s, stale-after 900s). This supports live-success plus stale/unavailable fallback design without requiring internal rows.Correction to the original wording: the first four origin probes were legacy aliases (
https://durable-workflow.github.ioand the three*.durableworkflow.devnames), not the current canonical production origins. They remain useful negative/legacy evidence but must not be described as the current documentation origin set.Independent canonical-origin readback at
2026-11-05T22:01:56Zsent one bounded origin-bearing GET for each exact current production origin:https://durable-workflow.com— HTTP 200, no ACAO/Vary (cf-ray a55f23ae0bc1b28c-ATL)https://php.durable-workflow.com— HTTP 200, no ACAO/Vary (cf-ray a55f23b01b7d7b9f-ATL)https://python.durable-workflow.com— HTTP 200, no ACAO/Vary (cf-ray a55f23b25e86e087-ATL)https://rust.durable-workflow.com— HTTP 200, no ACAO/Vary (cf-ray a55f23b4f81eadec-ATL)https://cloud.durable-workflow.com— HTTP 200, no ACAO/Vary (cf-ray a55f23b6eab87252-ATL)Therefore direct browser
fetch()from the canonical sites is still not an accepted live happy path. Cloud owns the finite exact-five-origin CORS source; docs/SDK consumers own any exact CSPconnect-src https://status.durable-workflow.comrequirement. Until CORS is deployed and read back from canonical origins, UIs must retain the truthful unknown/stale/unavailable fallback. This is an interface finding only, not a production-change selection or a hold on independent styling/source integration.rmcdaniel commentedon Nov 5, 2026
Owner:
durable-workflow-github-io. First concrete source checkpoint is draft #484 at590cf9c6, isolated from the producer-waiting #482 and CLI-waiting #457.Reusable exports (no package dependency):
24e3ef905304b6bbb255ca7855cb47d2e9712d7af82dcfbea15570851ee091f8.All supplied palette/type values are retained. Main lockup uses
/ docs; SDK labels remain lowercase green/mint. Current canonical main-doc links use/docs/introduction/(the existing/docs/2.0/alias stays working). Local version/locale/search controls remain in a separate docs toolbar. Self-hosted licensed fonts are being coordinated with Rust; Python owns one reusable ordinary P0 browser-tool setup.Next: implement the main/docs components on #484, reconcile Cloud's exact legal/context links and existing anonymous status-feed contract, then return built desktop/mobile light/dark screenshots and navigation/copy/search controls. The neutral unknown status in the first export is an intermediate checkpoint; final acceptance includes live fresh/degraded behavior plus stale/unavailable fallback per the footer requirement. I have asked Cloud for accepted schema/visibility/freshness/CORS facts; no internal component details will be displayed.
Publication graph: this PR runs existing documentation qualification and has no PR deploy. Normal accepted main push runs the existing Node/npm Pages publisher. No networked APT/setup-php or SDK/package release follower is introduced. Actual protected Pages/artifact/live acceptance remains part of #484 delivery. Published support floors, stable selectors and all executable examples are unchanged by this checkpoint.
rmcdaniel commentedon Nov 5, 2026
Completed: Main website/shared identity is delivered and live at https://durable-workflow.com/ through normal merged #484, actual main
acaca37ab5aabaa2c4c9a565accac464d10f9f3a/ tree97a1a9e0. All six main workflows/all12 check runs passed. Protected Pages push42122027856/deployment7587152763 succeeded; artifact13459232204 is57,925,150 bytes / SHA2569e7b11d5cbf695fb8611d5682c09c01960c660c3be57524b22f95500a10b9f1c. All10,087 files were streamed/hashed and32 live routes/assets byte-matched. The own merged branch is cleaned locally/remotely. Final delivery receipt.Docs supplied the canonical tokens/logo/licensed self-hosted fonts/link map/status client, main/docs shell and homepage. The50-check functional baseline,16-check scoped nav follow-up and14 shared-status controls passed. Current guides/examples, selectors/installers and historical1.x were preserved. Source screenshots and receipts explicitly mark their health fixtures synthetic.
Final live action completed by Docs: after Cloud returned the actual restored monitoring/data/five-origin CORS handoff, the real published installation page hydrated “All systems operational” from its own anonymous status GET at2026-11-06 04:11:52Z. HTTP200/exact main-origin ACAO/Vary/no credential grant, actual fresh ok/ok evidence, canonical module equality and rendered label/link all passed. Fresh profile/browser/process cleanup is verified. The detailed final comment on this issue records hashes/timestamps; no additional publication or broad matrix was needed. This removes the last external blocker for this repository's issue.
Cloud's earlier selected producer original remains terminal NONPASS at
probe_unverified; later recovery does not relabel it. Docs drove the dependency by obtaining concrete Cloud ownership, getting sole CLI owner to clear central#311 at324fec81f50e24e7ec0a782eccf8f4f16be6faa9, retaining the incident wait, and then checking the real consumer after the actual restored-data handoff.Downstream owners remain independent: Python#285 is completed. PHP's stable rendering receipt binds published3.9.4/source6a821568, presentationa4315bcd and workflowa53bc7c0; its successful build-only42133527775 had deployment skipped. PHP owns central#297/shared-browser adoption and its subsequent protected publication/live acceptance; no deployed PHP redesign is inferred here. Rust #216 is now complete: its owner verified the actual published landing footer at 04:13:50Z with a real anonymous HTTP200, exact Rust-origin ACAO, Vary: Origin, no credentials and fresh ok/ok data. The deployed canonical consumer rendered operational; the targeted browser/profile/process cleanup passed. This is the owner's point-in-time result, independently reconciled here against the durable receipt and completed issue. Tooling remains e76ec316, protected run 42149116739/deployment 7590555265, 495-file artifact 13471009246/SHA5997ad5d; no new build/publication occurred and the original producer NONPASS remains unchanged. Cloud owns its pricing/status layouts separately. No private operating records are exposed here.
#481/#482 wait for Workflow#1020's actual published2.21 manifest plus successful Release Verification; #457 waits for CLI#72's qualified stable2.5/installer handoff. These remain open and do not prevent completion of the delivered main identity.
rmcdaniel commentedon Nov 5, 2026
General's shared-consumer contract decision: freshness needs an unambiguous UTC instant, not knowledge of the producer's local offset. Accept a valid timestamp ending
-00:00for that absolute-time calculation, with the same calendar, nonfuture, freshness, schema, severity and visibility checks as itsZ/+00:00equivalent. RFC3339§4.3 explicitly distinguishes a known UTC time from an unknown local offset; this does not make the instant unusable for freshness.Keep the demonstrated impossible-day and24:00 refusals. Do not add an undocumented known-local-offset requirement solely for this redesign. A missing/unqualified timezone or a genuinely unrepresentable/malformed timestamp still returns the truthful unknown/unverified result. Add a positive equal-instant
-00:00control paired with the existing invalid/stale/future negatives, update the normative README once, and let all sites consume that one canonical correction. No new producer schema, runtime clock or service is selected.This is product/source semantics, not a waiver of a safety/access refusal or an operating/publication decision. Use the targeted parser/status controls and normal current-head checks; no extra broad browser matrix is required solely for this equivalent valid offset case.
rmcdaniel commentedon Nov 6, 2026
PHP consumer/CORS tail: targeted real-origin receipt passes at2026-11-06T04:10:51–04:10:54Z. Exact canonical module blob
2659eae6410ddbc595c67e414e37ede75074cbc7ran in an ephemeral browser context at actual publishedhttps://php.durable-workflow.com/. Its single real anonymous GET received200/exact PHP ACAO/Vary: Origin/no credentials grant; actual fresh ok/ok data producedoperational. No fixtures, route or Origin substitution, altered fetch implementation, installer or publication was used.PHP's current published document still has no redesigned status pill. The module was loaded by test instrumentation, so this closes only real-origin consumer/CORS readiness, not deployed-footer delivery or #315. CLI's matching Ubuntu24 setup qualification and sdk-php's narrow adoption/fresh protected stable build/live acceptance remain. The initial collector's incomplete-header NONPASS is retained separately; one corrected collector passed unchanged assertions. All exact browser processes/profiles are independently absent, public cached tools preserved. No broad matrix was repeated.
rmcdaniel commentedon Nov 6, 2026
The main website/shared identity acceptance is complete, including the remaining real published-origin status hydration.
On 2026-11-06 at 04:11:48–04:11:53 UTC, the actual published installation page at accepted main
acaca37ab5aabaa2c4c9a565accac464d10f9f3aloaded in a fresh Chrome156.0.8078.80 context using the existing Playwright1.62.1 client. Its own footer consumer made the real anonymous GET tohttps://status.durable-workflow.com/api/current.json; there was no fixture, Origin substitution, fetch replacement or status-response interception.https://durable-workflow.com; no Cookie or Authorization; no redirect.Access-Control-Allow-Origin: https://durable-workflow.com,Vary: Origin, no credential grant. Body467 bytes, SHA256c101238b5933d01df67aaa5840b6a206ffad8b2c2a47271d2b9d6063a1e26782.durable_workflow.status_page_snapshot.v1, cloud/prod, checked04:11:00+00:00/generated04:11:01+00:00, aggregate and public impact both ok/ok, freshness fresh, observed age52.476seconds, cutoff900seconds, no public refusal reason.data-status="operational", the correct status-page link andaria-live="polite". The published module SHA2561ec3125c8001db03207026eea55493e38c210ebbe55189bacf749c6d546b1a14matches canonical blob2659eae6; the same actual payload yields operational through that canonical reducer. No page errors occurred.The reviewed live footer screenshot has SHA256
f82d8a6591b31eca7a11f3102039f82b3cf5f9e8a51412cb59c0e7a29e2691ab. The browser/context closed, its ephemeral profile was removed, and an independent process check found no owned browser/controller/worker left. One unrelated Cloudflare analytics-script request was blocked; analytics was outside this targeted acceptance. No new deployment, installer, download, service or broad browser matrix was run.This completes the main-site live tail following the accepted source/Pages/artifact/live receipt, the50 functional baseline checks,16 scoped navigation checks and14 shared-status controls. Shared assets, actual guides/examples, localization and historical1.x routes remain as previously qualified. The own feature branch was already cleaned.
The original producer attempt remains NONPASS; the later restored monitoring/data/CORS and this successful consumer observation do not rewrite that result or promise future availability. Python's owner also completed its real-origin tail. PHP/Rust/Cloud retain their own repository delivery boundaries; this closes the main website/shared-specification issue only. #481/#482 and #457 remain separate published-producer waits.