Rate limiting is not enforced on the v2 gateway
@@ -329,8 +100,8 @@
diff --git a/BUILD-NOTES.md b/BUILD-NOTES.md index de06fc8..04f67cb 100644 --- a/BUILD-NOTES.md +++ b/BUILD-NOTES.md @@ -507,3 +507,61 @@ of 578 rules with the same at-rule nesting, and only those four change position. resolved cascade moves — the qualified selectors already won on specificity — only the order the file reads in. `noSvgWithoutTitle` is fixed with a real `
4 blocking
4 blocking
-2 waived
-18 clear
+4 blocking
+2 waived
+Nothing here is waivable. Owner and date on every one.
@@ -329,8 +100,8 @@
/v2/search is 840ms against a 400ms target@@ -339,7 +110,7 @@
/v2/search is 840ms against a 400ms target@@ -348,7 +119,7 @@
@@ -365,46 +136,69 @@
Eighteen items, checked against evidence rather than memory.
Both come back as blocking before general availability.
Beta is invite-only and under NDA, so the exposure is bounded and known.
Waived by Security · D. Okafor · 1 Sep · required for GA
English only for beta. Tracked as ATL-2211 with a translator booked for October.
Waived by Product · P. Raman · 29 Aug · required for GA
diff --git a/templates/manifest.ts b/templates/manifest.ts index 619b60b..d9d8d31 100644 --- a/templates/manifest.ts +++ b/templates/manifest.ts @@ -70,12 +70,12 @@ export const starterTemplateManifest = [ "slug": "proposal", "category": "decisions", "name": "Proposal", - "description": "A single argument, led by the number that carries it: the problem, what you propose, what it costs, what it buys, and the decision you are asking for.", + "description": "A single argument with the dated decision first, then the problem, cost, payoff, trade-off and evidence in a numbered decision spine.", "type": "html", "content_file": "proposal.html", "thumbnail": "/assets/template-thumbs/proposal.png", "slots": [], - "thumbnail_viewport": 768 + "thumbnail_viewport": 1280 }, { "slug": "spec", @@ -111,11 +111,11 @@ export const starterTemplateManifest = [ "slug": "report", "category": "research", "name": "Report", - "description": "The serious long document: a masthead over a two-column opening band — executive summary left, the quarter's headline figures right — then numbered sections carrying a ranked magnitude figure, a pull quote, and owned next steps with dates.", + "description": "The serious long document: an editorial masthead followed by a briefing band that puts the finding beside its recommendation and quarter evidence, then numbered sections with a ranked magnitude figure, a customer quote, and owned next steps with dates.", "type": "html", "content_file": "report.html", "thumbnail": "/assets/template-thumbs/report.png", - "thumbnail_viewport": 768, + "thumbnail_viewport": 1280, "slots": [] }, { @@ -202,11 +202,12 @@ export const starterTemplateManifest = [ "slug": "project-plan", "category": "plans", "name": "Project plan", - "description": "Phases, owners, dates and dependencies on one page: a seventeen-week rail with a today line and a part-filled bar for the phase in flight, a phase card per stage with its deliverables and exit criterion, what the plan depends on other teams for, and the risks with mitigations.", + "description": "Phases, owners, dates and dependencies on one page: a seventeen-week phase-and-gate ledger with a today line and all four phases, followed by each phase's deliverables and exit criterion, cross-team dependencies, and risks with mitigations.", "type": "html", "content_file": "project-plan.html", "thumbnail": "/assets/template-thumbs/project-plan.png", - "slots": [] + "slots": [], + "thumbnail_viewport": 1440 }, { "slug": "runbook", diff --git a/templates/project-plan.html b/templates/project-plan.html index 0532c37..72b52de 100644 --- a/templates/project-plan.html +++ b/templates/project-plan.html @@ -1,311 +1,29 @@ - - + +Project plan
@@ -321,46 +39,39 @@
+ Mobile milestone flow
Desktop chart · One column per week; the dashed line is today, 4 Sep. Every date is written out, so the plan reads without the chart.
1 · Discovery 27 Jul → 21 Aug
-1 · Discovery 27 Jul → 21 AugComplete
+2 · Signup 24 Aug → 25 Sep
-Today · 4 Sep2 · Signup 24 Aug → 25 SepIn progress
+3 · Guided setup 28 Sep → 30 Oct
-3 · Guided setup 28 Sep → 30 OctNot started
+4 · Billing 2 Nov → 20 Nov
-4 · Billing 2 Nov → 20 NovAt risk
+Exit: a new account reaches a working workspace unaided.
- + -Exit: a customer upgrades without contacting sales.
- +Billing migration to the new ledger - Blocks phase 4 + Blocks phase 4 Finance platform · due 10 Nov
Ten days of float. Later than 13 Nov and phase 4 moves to December.
Security review of the invite flow - Blocks phase 2 exit + Blocks phase 2 exit Security · due 18 Sep
Booked. A week of slack before the phase 2 exit date.
Pricing page copy Wanted, not blocking @@ -459,8 +169,7 @@
Mitigation: phase 4 drops to card capture if the ledger misses 13 Nov.
-Google sign-in review takes longer than quoted Possible · Medium impact
@@ -480,14 +189,14 @@
Mitigation: three are written and reviewed before phase 3 opens.
-Approve the requisition, at band S3, against the Q1 contractor budget.
+Ten weeks of hiring makes 30 September the last date that still gives a January start. If the answer is no, I would rather have it by the 30th than have it open — I will put the money into the rewrite.
+Decision needed by30 September 2026
+6 h 10 mMedian first response, tickets opened before 13:00 CET
The same ticket opened at 15:00 CET is answered in 41 minutes. Nothing about the ticket is different. Nobody is awake.
Nobody answers Europe before 13:00 CET. Just under a third of tickets arrive in that window and wait a median of six hours ten for a first reply — not a resolution.
We cannot rota our way out of it: the US team already starts early and the median has not moved in three quarters. Two of the five enterprise accounts we lost named response time in their exit call. Both European.
One support engineer in Lisbon, starting January, covering 08:00–17:00 CET. Our rotation, our tooling, the same queue — not an outsourced tier one, not a follow-the-sun handover. Lisbon because we have an entity there, so hiring runs ten weeks rather than four months.
No new vendor, no new process, no change to the on-call contract. Finance confirms the band sits inside the FY27 envelope.
Modelled on eight months of volume, first response falls from six hours ten to under forty-five minutes — 31% of volume moves from our worst band to our best.
It also gives the four European accounts renewing in Q2 — $340k of ARR — a named contact in their own working day. Three have asked for one.
The help-centre rewrite, the other claim on this budget. It is worth doing; I am arguing order, not merit. The rewrite cuts ticket volume about 8%. The hire changes the experience of 31%, and for the accounts actually leaving.
And if the hire lands, the rewrite becomes a stronger Q3 proposal — someone in the timezone will know which articles are missing.
Approve the requisition, at band S3, against the Q1 contractor budget.
-Ten weeks of hiring makes 30 September the last date that still gives a January start. If the answer is no, I would rather have it by the 30th than have it open — I will put the money into the rewrite.
-Decision needed by30 September 2026
-Retention held at 104% through the first full quarter on the new pricing. The average hides a split: enterprise expanded, mid-market did not renew.
@@ -185,16 +49,27 @@We recommend a viewer tier for 20–80 seat accounts, and holding list price.
-vs 106% plan
4-qtr avg 2.0%
up 31% on Q2
vs 106% plan
+4-qtr avg 2.0%
+up 31% on Q2
+Three quarters of the book renewed at list without an exception, and expansion revenue was @@ -202,15 +77,33 @@
Customer Success ran exit interviews on all fourteen non-renewals and on nine accounts that renewed after an escalation. The pattern is consistent.
“We didn’t leave because it got expensive. We left because we couldn’t explain to finance what the extra money bought.” - — Head of Operations · 240 seats · churned 14 Sep+ — Head of Operations · 240 seats · churned 14 Sep +
Priya RamanDecision needed by 17 October
Revenue OperationsDraft by 31 October
Marcus Lai, Customer SuccessIn place by 1 November
Priya RamanDecision needed by 17 October
+Revenue OperationsDraft by 31 October
+Marcus Lai, Customer SuccessIn place by 1 November
+Six weeks into a thirteen-week quarter. Nothing here is breaching an @@ -184,34 +30,39 @@
71%
278 of 393 minutes, against a 99.7% quarterly objective across all services.
-Four services, four objectives met, and seventy-one per cent of the quarter spent in six + weeks. Both are true and only one of them is on a status page. The publish pipeline + cleared its floor by six hundredths of a point and took two-thirds of the money.
+1 degraded day · 1 partial outage — 63% of the quarter's spend +
90 days · read each row left to right
1 degraded day · 1 partial outage — 63% of the quarter's spend Met, barely
1 degraded day · 24% of the spendMet
+90 days · read each row left to right
1 degraded day · 24% of the spendMet
1 degraded day · 13% of the spendMet
+90 days · read each row left to right
1 degraded day · 13% of the spendMet
No incidents · none of the spendMet
+90 days · read each row left to right
No incidents · none of the spendMet
+
Operational — full bar Degraded — two-thirds bar Partial outage — short bar @@ -314,17 +157,10 @@
Four services, four objectives met, and seventy-one per cent of the quarter spent in six - weeks. Both are true and only one of them is on a status page. The publish pipeline - cleared its floor by six hundredths of a point and took two-thirds of the money.
-