Skip to content

Add new documentation pages to VitePress navigation#1

Merged
amavashev merged 1 commit intomainfrom
claude/update-vitepress-config-zE6lg
Mar 11, 2026
Merged

Add new documentation pages to VitePress navigation#1
amavashev merged 1 commit intomainfrom
claude/update-vitepress-config-zE6lg

Conversation

@amavashev
Copy link
Copy Markdown
Contributor

Summary

This PR adds four new documentation pages to the VitePress site navigation, expanding the guides section with content on observability enforcement, rollout strategies, exposure estimation, and degradation paths.

Changes

  • Added "From Observability to Enforcement" article link to the main concepts section
  • Added three new how-to guides to the guides section:
    • "Choose a First Rollout" - guidance on selecting initial rollout strategies
    • "Estimate Exposure Before Execution" - practical reservation strategies
    • "Degradation Paths" - thinking about deny, downgrade, disable, or defer approaches

These new pages are positioned strategically in the navigation hierarchy to guide users through progressive implementation stages, from understanding enforcement concepts to choosing rollout approaches and managing degradation scenarios.

https://claude.ai/code/session_01T5dYQZCmk9GbjyHgrFkuyM

Added 4 articles that existed as .md files but were missing from the
sidebar navigation:
- "From Observability to Enforcement" under Concepts
- "Choose a First Rollout" under How-To Guides
- "Estimate Exposure Before Execution" under How-To Guides
- "Degradation Paths" under How-To Guides

https://claude.ai/code/session_01T5dYQZCmk9GbjyHgrFkuyM
@amavashev amavashev merged commit 13a94fb into main Mar 11, 2026
@amavashev amavashev deleted the claude/update-vitepress-config-zE6lg branch March 17, 2026 18:28
amavashev pushed a commit that referenced this pull request Mar 31, 2026
… agents

New SEO-optimized landing page blog covering the #1 trending enterprise AI
concern in Q1 2026: agent sprawl. Backed by 10 recent sources (Gravitee,
OWASP, Security Boulevard, Qualys, BeyondTrust, RocketEdge, The Register,
Kiteworks, Moltbook AI). Complements existing governance and runtime
authority content without duplication.

https://claude.ai/code/session_01Dpg26XYujb87a7PumVynjS
amavashev added a commit that referenced this pull request Apr 11, 2026
Two review fixes to the Contact CTA section:

1. Button text: "Start the conversation →" → "Talk to the team →"
   Mirrors the section headline ("Talk to the people building Cycles.")
   and feels more human and direct than the slightly generic
   "Start the conversation".

2. Fourth reason: "Building something adjacent" → "Evaluating Cycles
   for production".

   The original fourth card was the weakest from a qualified-inbound
   perspective — "adjacent builders" (observability vendors, policy
   engines, frameworks) is a real audience but a small one, and the
   abstract framing didn't give readers a concrete hook.

   The new framing captures a distinct funnel stage the other three
   reasons miss: teams in vendor eval or architecture review who aren't
   yet piloting (#1 covered pilots) and don't have specific protocol
   feedback (#3 covered that). It names real comparison categories
   (rate limiters, LLM gateways, observability tools) so the card
   feels concrete like the others, and offers three specific things
   in return (spec walkthrough, runtime demo, integration questions).

Verified via `npm run build` — both strings ("Talk to the team",
"Evaluating Cycles for production") present in dist/index.html, neither
of the old strings remain.
amavashev added a commit that referenced this pull request Apr 27, 2026
…() and idempotency wording

External reviewer flagged three required edits + one optional. All
applied:

1. "Buyer #1/2/3" headings exposed sales-framework scaffolding in a
   technical blog. Renamed to clean topical headings:
   - "Risk and compliance: audit evidence by default"
   - "Finance and FP&A: cost attribution and forecasting"
   - "Platform engineering: chargeback and showback"
   Body references updated: "Three different buyers" -> "Three
   different stakeholders" (opener); "all three buyers" -> "all
   three stakeholders" (closing section).

2. "The decide-commit pair is the enforcement layer and the audit log"
   - decide() is optional preflight, so framing it as part of the
   enforcement layer is wrong. Reframed: "The reservation and
   settlement records are the enforcement layer and the audit
   substrate; decide() adds a preflight decision record when you use
   it." Matches conformance: reserve/commit/release/extend are MUST,
   decide() is SHOULD.

3. Idempotency wording was too broad - "required, not optional, on
   decide, reserve, commit, and events". The header is optional, but
   when supplied the server enforces idempotency per tenant /
   endpoint / key, with successful replays returning the original
   response and mismatched payloads returning IDEMPOTENCY_MISMATCH.
   Reviewer's exact wording adopted; glossary link preserved.

4. Optional edit: "Three different buyers" -> "Three different
   stakeholders" in the opener for tone neutrality. Applied.

Build clean.
amavashev added a commit that referenced this pull request Apr 30, 2026
Three rendering bugs visible in the captured PNG:

1. Word-spacing collapse — "codingagent", "productiondatabasecredentials",
   "DROP / DELETEtable", "showsthe", "valueof". Root cause: the `font`
   shorthand applied to cloned form-control replacement spans does NOT
   include letter-spacing, word-spacing, font-variant-numeric, or
   text-rendering. html2canvas-pro then measures text with one set of
   metrics and renders with another, collapsing the inter-word gaps.
   Fix: explicit per-property style transfer (TEXT_LAYOUT_PROPS list
   covers fontFamily/fontSize/fontWeight/fontStyle/fontVariant/
   fontVariantNumeric/fontStretch/fontKerning/lineHeight/letterSpacing/
   wordSpacing/whiteSpace/textAlign/textTransform/textRendering/
   textIndent/color), plus a scoped style block that resets these
   properties on every wrapper descendant during capture and is removed
   after.

2. Static prose (page-author description, containment hint, disclaimer)
   showed the same word-collapse artifact. These are not form controls
   so the per-input fix did not help. The scoped style block from #1
   covers them too because it targets every wrapper descendant, not
   just inputs.

3. <input type="range"> sliders rendered as orphan "70" text floating
   left of the number input. Range inputs do not capture meaningfully
   in a static export — the adjacent number input already shows the
   same value via shared v-model. Fix: skip range inputs entirely in
   the cloning loop (return before creating a span).

Also added: `await document.fonts.ready` before the html2canvas-pro
call so web fonts are loaded before measurement / rasterization.
Without this, the renderer measures with fallback-font metrics and
draws with the actual font, which is another known source of
collapsed text spacing in html2canvas captures.

Verified with `npm run build`. PNG export should now produce
artifact-free captures across both calculators on light/dark themes.
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