Changelog

Every change to this platform, generated straight from the commit history. It is published because the fair question to ask a small vendor is whether the thing is actually maintained, and that is a question only a record can answer.

798
Commits
42
Days with changes
2026-02-17
Building since
2026-09-13
Last change
Maintenance · 179Compliance data · 120New capability · 45Reliability · 27Security and privacy · 18Performance · 9

September 2026

110 changes
  • Maintenance

    Compact GROWTH_PROMPT Section 0C; run the ledger's overdue failure review

  • Maintenance

    Compact GROWTH_PROMPT Section 0B; log the immutability override

  • Maintenance

    Compact GROWTH_PROMPT Section 6 to 834 words; retire a completed queue item

  • Maintenance

    Compact GROWTH_PROMPT Section 5 to 838 words

  • Maintenance

    Compact GROWTH_PROMPT Section 2; raise its cap to the measured floor

  • Maintenance

    1,448 words to 1,198, and one instruction was wrong

  • Maintenance

    2,878 words to 1,198, no measured fact lost

  • Reliability

    Fix the word cap so it can actually bite, and record the duplicate-representation rule

  • Reliability

    I mapped a set the estate had adjudicated as duplicate

  • Compliance data

    A mapping batch stales the published count

  • Compliance data

    Re-pin the mappings fallback after todays mapping batch: 306,653 to 306,664

  • Maintenance

    Track gmc_monitor.py, and make a truncated scan say so

  • Reliability

    Measure the paid number, ship 7 pages, close a broken instrument

  • Maintenance

    Publish 7 newly page-eligible KVKK controls: DATA_VERSION 9 to 10

  • Maintenance

    Feed the daily Signals brief into both growth prompts as an input, not a summary

  • Maintenance

    An assistant answering a shopper has no wallet

  • Maintenance

    Every failure is loud and leaves the site alone

  • Maintenance

    Demand-first selection, and why metering was removed

  • Maintenance

    Record the catalogue content split, and the lesson that a dead monitor is not a dead job

  • Maintenance

    Record the catalogue-to-agents work: what sells, what does not, and why

  • Performance

    Put the content index on a 50GB volume and index every course to every chapter

  • Performance

    Build the course content index and meter it: search what 300,000 courses TEACH

  • Maintenance

    Make the store's 315,904 SKUs buyable by an agent, and NOT on the x402 rail

  • Maintenance

    Consolidate the agent revenue rail into one record, and carry three rules to the store

  • Maintenance

    Measure the x402 market before paying to enter it: median merchant has earned $3.90

  • Maintenance

    Record the Bazaar listing state: validation passes, indexing waits on one payment

  • Maintenance

    Declare the discovery extension CDP validation wanted

  • Maintenance

    Lead the 402 with the offer, because the spec wording reads as a fault

  • Maintenance

    Advertise the paid data everywhere an agent looks, not just where it fails

  • Maintenance

    Let agents find the paid data, and tell the ones that cannot pay what to do

  • Maintenance

    Record the resolved x402 configuration: the whole data family is metered

  • Compliance data

    Commit the /evidence Caddy route that was blocking every CI deploy

  • Maintenance

    Correct the descriptions, and stop a 429 preempting the 402

  • Compliance data

    Meter the crosswalk data family, log settlements for notification

  • Maintenance

    Remove the x402 daily cap, and record that the metering is aimed wrong

  • Compliance data

    Enable x402 on the crosswalk endpoint, and fix two defects found doing it

  • Compliance data

    What an agent would pay for, answered from the logs: crosswalk above 10/day

  • Maintenance

    Investor lens ranks bets, and MCP adoption is measured for the first time

  • Maintenance

    Revenue per visitor is the argument

  • New capability

    Add a standing investor lens to both briefs

  • Maintenance

    Measure whether the AI channel generalises: it does not, by scale

  • Maintenance

    The last instrumentation gap is closed

  • Maintenance

    Meta description done; beacon needs a UI paste, not a scope

  • Maintenance

    Map the AI-referral blind spot: it was four systems, not missing data

  • Maintenance

    Advance and measure, start nothing

  • Reliability

    One visible hub, 22 hidden shards

  • Performance

    Build the crawlable HTML index for AU: 5,296 orphan products now reachable

  • Maintenance

    Program for artofservice.com.au, built on measurement not on the store playbook

  • Maintenance

    Measure every property from its own GSC property, and reconcile the store bands

  • Maintenance

    The hub is 154,047 impressions, not 461,662: the property includes subdomains

  • Maintenance

    Where the SSO signups came from: unrecoverable, but they are a distinct cohort

  • Maintenance

    Merge its tagged and untagged rows

  • Maintenance

    Automate the signup scoreboard, and Google SSO turns out to be the top channel

  • Security and privacy

    Carry the referrer through social OAuth so SSO signups stop looking like direct

  • Maintenance

    Measure impressions per cluster: the fragmentation hypothesis is refuted

  • Maintenance

    Apply seventh review by MEASURING its two testable claims, not recording them

  • Compliance data

    The evidence-pack funnel, with the first real denominator

  • Compliance data

    Evidence pack delivery routes, and index checkpointing

  • Compliance data

    Per-framework evidence request lists from the graph

  • Maintenance

    Correct the CTR arithmetic, allow measurement-only runs

  • Maintenance

    Turn the brief's own 0.4 rule on its own diagnosis

  • Reliability

    Measurement-debt guard, hold batch 4, measure the AI channel

  • Maintenance

    The treated set was already clean, and measuring said so

  • Reliability

    Fix the duplicate h1 at its real source, and correct a false finding

  • Maintenance

    Rotation days 1, 2, 3 and 5 audited

  • Security and privacy

    Build the AI-bot metric reader, and the first read finds a live AI channel

  • Maintenance

    First pass, mastery and adoption

  • New capability

    Add the AEO daily pass as program D, with its baseline and one reconciliation

  • Maintenance

    Close the agent-API proposal as already shipped

  • Maintenance

    Owned distribution live at 100/day, plus four fixes the first batch exposed

  • Maintenance

    Cross-property buyer audience plus a routed sender

  • Reliability

    Fix four false numbers, add three guards

  • Maintenance

    Restore 1000x as the growth target in both briefs

  • Maintenance

    Apply the outside review, accept three, reject two

  • New capability

    Add the outside-review request that goes with the two briefs

  • Maintenance

    Split the store into its own brief

  • Maintenance

    The pricing engine is live, with its measured constraints

  • Maintenance

    Pricing instrumented, the exchange model scoped to what it can reach

  • Maintenance

    Measure pricing before changing any of it

  • New capability

    Add store.theartofservice.com, measured before written

  • Maintenance

    Compact 14 lessons into rules, drop the narrative

  • Maintenance

    Run 5 self-update, the routing engine works end to end

  • Performance

    Make the sitemap cache refresh the mandatory last step of the growth loop

  • Maintenance

    Bump DATA_VERSION so three days of mappings actually reach it

  • Maintenance

    Sessions are measurable, 82 templates, hold batch 4

  • New capability

    57 -> 82, the only page shape that converts

  • Compliance data

    My own mapping work drifted it by 15

  • New capability

    A push is not a ship until you assert it landed

  • Maintenance

    Run 3 self-update, the converting mechanic identified

  • New capability

    The only page shape with measured conversion

  • Maintenance

    Record the two run-2 process failures

  • New capability

    Ship rule and a standing shippable queue

  • Maintenance

    Run 2 self-update, hub routing is gated upstream

  • Maintenance

    Self-updating, with guardrails against its own drift

  • Maintenance

    Rewrite around what measurably converts

  • Maintenance

    Correction, controls convert at zero and the hub is the engine

  • New capability

    The primary growth metric was never being recorded

  • Maintenance

    Run 1 baseline, environment contract, and a frozen prior

  • Reliability

    Guard the whole tree, and assert the fast-forward actually landed

  • Maintenance

    Commit the adoption.theartofservice.com block that existed only on the VPS

  • Compliance data

    Commit the /categories endpoint that existed only on the VPS

  • Maintenance

    Refresh the stats fallback after detaching 47 contaminated controls

  • Compliance data

    Guard the Control.code uniqueness constraint against cross-framework adoption

  • Security and privacy

    Let sign in return to a host other than the compliance frontend

  • Compliance data

    Expose Adoption Evidence to agents through this MCP server

  • Compliance data

    Read only question search for Adoption Evidence

  • Maintenance

    The controls behind the count, and a total that agrees with it

  • Maintenance

    Cover the awesome-mcp-servers entry, and stop a false alarm

  • Maintenance

    Say that the API takes agent payment, and that nothing is charged yet

  • Security and privacy

    Describe the persistent evidence layer and what is kept of it

August 2026

151 changes
  • Compliance data

    Cache the crosswalk coverage handler, at one hour not one day

  • Maintenance

    The metered-path list matches exactly, not by prefix

  • Compliance data

    Advertise live graph counts instead of import-time fallbacks

  • Maintenance

    X402 live on Base mainnet, metered per path, with three fixes found by using it

  • Maintenance

    Check an address against its own EIP-55 checksum

  • Maintenance

    Mint the per-request JWT the CDP facilitator actually requires

  • Maintenance

    Authenticate to the facilitator when one is configured

  • Maintenance

    Ask the facilitator and the chain, refuse when either is silent

  • Maintenance

    A preflight for turning x402 on, that refuses rather than assumes

  • Maintenance

    Wire x402, cap the keyless tools, stop self-stamping provenance

  • Maintenance

    Keep the record of how the ISO/IEC 42001 text was written

  • Maintenance

    Four market signal tools on the MCP surface

  • Compliance data

    Keep the duplicate half of a framework out of the work queue

  • Compliance data

    Say how much of a near-miss framework is already mapped, and to what

  • Maintenance

    The near-miss work queue counted controls with no requirement text

  • Compliance data

    Let a glossary term match the vocabulary the standards actually use

  • Maintenance

    Publish the shared organisation identity, and name the sibling properties

  • Maintenance

    The AU rewriter price cap excluded every provider, so it rewrote nothing

  • Maintenance

    Reachability check failed a change that made robots.txt more correct

  • Compliance data

    Bring today's API changes into git; they existed only on the VPS

  • Compliance data

    Control pages resolved against an API response cached before clause_code existed

  • Compliance data

    Stop advertising 876 control urls whose page always 404s

  • New capability

    Remove duplicate /compare route that broke the production build

  • Reliability

    Fix robots.ts async return type

  • Performance

    Advertise only the sitemap chunks that hold urls

  • Compliance data

    Visible provenance byline on framework and control pages

  • Compliance data

    Anchors and entity stack on control pages, real questions on framework FAQs

  • New capability

    Build the /compare hub, which did not exist

  • Performance

    Extraction, anchors, entity stack, robots

  • Compliance data

    Match a stripped clause reference too, and the sitemap resolves completely

  • Compliance data

    495 of the control URLs we advertise to Google resolved to notFound()

  • Compliance data

    Reconcile the sitemap rule with the eligible rule

  • Compliance data

    Measure how much of the graph earns a page, and what is one step away

  • Compliance data

    Term coverage returned nothing whenever the term was capitalised

  • Compliance data

    Do not state a control count in a comment

  • Compliance data

    The fulltext index was the wrong tool for this question

  • Compliance data

    Control pages 404'd for every framework whose name has a slash

  • Compliance data

    Answer the glossary question the graph can already answer

  • Maintenance

    Make the sitemap advertise what people search, not one arbitrary direction

  • Compliance data

    Public page for the evidence layer, which nothing public mentioned

  • Security and privacy

    Document the public route conventions and the auth-gated app routes

  • Compliance data

    Commit the production code that only existed on the VPS

  • Compliance data

    Evidence library UI

  • Compliance data

    Judge a document once, answer every framework

  • Maintenance

    Give /contact a page, and only promise the response times that exist

  • Compliance data

    Stop sending people to a login wall, and resolve the routes they type

  • Compliance data

    Make /readiness 404 on an unknown framework

  • Maintenance

    Sitemap, homepage, case studies

  • New capability

    Add /customers, built from the paid-order record

  • Maintenance

    Ten illustrative scenarios, at /scenarios rather than /case-studies

  • Compliance data

    Attribution from control page to purchase, and stop spending crawl budget on dead pages

  • Compliance data

    Off-by-one meant a two-segment code could never lose its prefix

  • Compliance data

    Show the reference as a person writes it, not as the graph stores it

  • Compliance data

    Give control pages an upgrade moment that matches why the visitor came

  • Compliance data

    Resolve control pages by the searchable reference, not the stored code

  • Compliance data

    10,281 pages targeting what people actually search

  • Maintenance

    The site never said how fast you get an answer, or that anyone is calling it

  • Maintenance

    Three of five comparison pages were linked from nowhere

  • Compliance data

    $6.10, not $ 6.10

  • Compliance data

    Price the work, not the seat; quote it in money honestly; name the real competitors; surface the AI governance answer

  • Maintenance

    One name for why a claim was withdrawn, and an honest description of what the reason is

  • Maintenance

    Refuted mappings 29,549 to 42,107

  • Compliance data

    Front matter is not a requirement: 12,105 mappings refuted, 99 duplicate nodes retired, two dead API fields removed

  • Reliability

    All three off-site surfaces are correct; fix the checker that said otherwise

  • Maintenance

    Professional is $149. Fourteen places said $49, and the referral credit paid a third of what it promised

  • Compliance data

    Add the routes the previous commit deleted the static files for

  • Compliance data

    Generate llms.txt from the graph, page the framework list, and make the free crosswalk tool end in a decision

  • Reliability

    The 100% claim survived the sweep that removed it; guard it, then sell the review to agents

  • Compliance data

    Store empty strings, not nulls, so reads stop warning

  • Compliance data

    Remove two promises we cannot keep, stop CLAUDE.md reseeding stale counts, add an account activity log

  • Compliance data

    Re-pin the stats fallback, which the graph outgrew

  • Compliance data

    The graph explorer existed and nobody could find it

  • Maintenance

    Import the recorded result rather than fetching it

  • Maintenance

    Retire a compliance guarantee we cannot make, and show the product working

  • Maintenance

    Round the percentage before printing it

  • Compliance data

    Measure whether the graph helps, and publish where it does not

  • Compliance data

    84 frameworks were unreachable through the agent's own control tool

  • Maintenance

    Lead with the outcome, and show the things that were only claimed

  • Maintenance

    Render all six, hide the inactive ones with CSS

  • Maintenance

    Opt out of the drift check, with the reason

  • Compliance data

    Make MCP the thing you do, not the thing you read about

  • Compliance data

    Packages were publishing numbers that were never true, and the galaxy counted retired frameworks

  • Maintenance

    Take descriptions from the OpenAPI schema

  • Maintenance

    Walk included routers, and reject a name used as a description

  • Maintenance

    Check the card the code builds, not the one production serves

  • Maintenance

    The case study we did not have, and a registry-shaped server.json

  • Maintenance

    The server card can no longer under-advertise

  • Security and privacy

    A named human, our own gap report, and a status page that can report bad news

  • Compliance data

    Stop serving placeholder text as requirement text

  • Compliance data

    Give every pair its own page, ranked, in the sitemap

  • Compliance data

    One call per pair, and count what was thrown out

  • Maintenance

    Ask for the version they actually sent

  • Maintenance

    Keep what the buyer corrects

  • Compliance data

    The coverage report published a denominator nobody else uses

  • Maintenance

    The fulfilment link 404d

  • Compliance data

    The 25,302 SEO pages now sell the crosswalk they already match

  • Maintenance

    Unauthorised requests were crashing, not refusing

  • Maintenance

    Stop line endings burying real changes

  • Compliance data

    Sell it per questionnaire, and stop the api tree publishing stale numbers

  • Maintenance

    The last of the VPS noise, so a dirty tree means something

  • Security and privacy

    Reconcile the VPS and the repo, and stop them diverging again

  • New capability

    Add /compliance-review/upload, the fulfilment page the $499 review emails link to

  • Maintenance

    The $499 and $999 buttons never worked

  • Maintenance

    The drift gate skips loudly when it cannot reach the API, rather than blocking

  • Compliance data

    The stat-drift marker broke a build I had just gated

  • Compliance data

    The drift guard now gates the build, and the fallback is current again

  • Maintenance

    Say that the refuted sample is sorted, not representative

  • Compliance data

    Publish the refutations, and add combined coverage

  • Compliance data

    Crosswalk, mcp: the framework-count disagreement is resolved

  • Maintenance

    Two Tailwind positions instead of a CSS variable that was never set

  • Compliance data

    Ship /mcp and /provenance, and stop transcribing a live server

  • Compliance data

    Render the pair list on the server, and state the real level of review

  • Compliance data

    Documented lineage is not overreach, and the buyer is told which it is

  • Reliability

    Two test bugs and an apostrophe bug, none of them in the product

  • Reliability

    Block frameworks that recounting cannot fix

  • Maintenance

    Completeness sweep, and why it only gets a fraction of the way

  • Maintenance

    Ingest was leaving correctly re-judged mappings dark

  • Compliance data

    Reports were showing 'ref: None' for 1,286 controls

  • Maintenance

    Independence check now matches reference AND title, not raw code strings

  • New capability

    Every build script I wrote now refuses a metered API call

  • Compliance data

    The footer was the last surface still serving the fallback

  • Compliance data

    Retire the paid API for the crosswalk, build it on Claude Code instead

  • Compliance data

    Stop a 24h page cache from outliving the 15m stats window

  • Performance

    Cut the stats cache windows from an hour to fifteen minutes

  • Compliance data

    Every surface reads the graph, not a hand-typed number

  • Compliance data

    Fix a buy button that looked dead, and block unverified denominators

  • New capability

    Hourly build update by email, with a watchdog that restarts a dead build

  • Maintenance

    Batched writes actually write, and the thinness gate matches the product

  • Maintenance

    One persistent Bolt connection instead of a JVM per query

  • New capability

    Build the full catalogue, and refuse a standard crosswalked against itself

  • Maintenance

    Audit asserts properties, not a frozen catalogue size

  • Maintenance

    Scope the reuse cap to its own pair, and stop hiding short-titled controls

  • Compliance data

    Cap control reuse before the gate, not as a reason to fail

  • Compliance data

    Link the changelog and crosswalk, and count each control once

  • Compliance data

    Public changelog fed from git, and two data-integrity fixes

  • Compliance data

    Any pair, built on demand, with the tier of review disclosed

  • Compliance data

    Second pair released, and two checks that were passing on nothing

  • Compliance data

    Sell it per framework pair, and gate what can be sold

  • Compliance data

    Ground SOC 2 criteria in TSP 100, verify against source text

  • Maintenance

    Review the 42 mappings against source, reject 8, sign off

  • Compliance data

    Make the crosswalk sellable, and gate it so it cannot be sold unreviewed

  • Compliance data

    Add the coverage crosswalk, and the data work it needed first

  • Compliance data

    Say "over 25 years", since 2000 to 2026 is 26

  • Maintenance

    Correct the founding year to 2000

  • New capability

    Add a verifiable track-record line to the homepage

  • Maintenance

    Check advertised prices against Stripe

  • Maintenance

    Correct the platform subscription price, $49 to $149, in 20 places

  • Security and privacy

    Add iAwards badge, /trust redirect, and correct the SSO claim

  • Security and privacy

    Add /security

  • New capability

    Add live mode to the stat drift check, wired to a weekly cron

  • Compliance data

    Make every published number match the graph

July 2026

5 changes
  • Maintenance

    Link Signals from the landing footer

  • Security and privacy

    Detect bot signals on capture + register (User-Agent + context)

  • Maintenance

    Commit VPS-local disables for discovery + cerebras monitor to git

  • Security and privacy

    Also reject scanner email patterns at /api/auth/register

  • Maintenance

    Harden lead capture endpoint against scanner probes

June 2026

24 changes
  • Maintenance

    Update MCP attribution string to 723 frameworks

  • Reliability

    Build agent-builder channel + fix stale platform numbers

  • Maintenance

    Mark ODENNA launched and GNLI live in portal on deliverables page

  • Maintenance

    Story-led rewrite of team_invite + 3 readiness drip templates

  • Maintenance

    Story-led rewrite of audit-report drip (3) + post-purchase drip (3) templates

  • Maintenance

    Story-led rewrite of 13 lead drip templates with human-edited positioning

  • Maintenance

    Story-led rewrite of trial drip (4) + churn prevention (3) templates

  • Maintenance

    Story-led rewrite of all 13 onboarding templates + human-edited positioning

  • Maintenance

    Refresh hardcoded fallback defaults to live counts

  • Maintenance

    Hook -> story -> demo -> action -> PS

  • Maintenance

    Rewrite free drip Day 3/5/7 to position Starter as the stepping stone

  • Reliability

    Add Starter FAQ and fix truncated CTA

  • Security and privacy

    Tier-aware billing success page

  • New capability

    Add tier-aware welcome email for Starter; strip em-dashes from paid drips

  • Security and privacy

    Add Starter tier (\$19/mo) between Free and Professional (Phase A, no Stripe yet)

  • Maintenance

    Strip em-dash from docstring (hard-rule)

  • Maintenance

    Filter to current platform price IDs only

  • Compliance data

    ISO 27001 -> NIST CSF returns 404 (no mappings exist)

  • New capability

    Add Content Feed data licensing strip to /pricing

  • Maintenance

    Engagement purchases get welcome + admin emails; admin emails skip unsub footer

  • Maintenance

    Self-serve Content Feed checkout: API + frontend (Phase A, no Stripe yet)

  • Maintenance

    Expand sanitizer dash/hyphen coverage; wire video_callout into weekly newsletter

  • New capability

    Add Content Feed video demo to /data hero + reusable email block

  • Security and privacy

    Guarantee admin notification on every new signup (3-layer defense)

May 2026

63 changes
  • Maintenance

    Strip em-dashes from site title + AI disclaimer

  • Maintenance

    Replace Enterprise Custom tier with explicit Content Feed pricing

  • Compliance data

    Bump platform stats to marquee batch state + DATA_VERSION 7

  • Compliance data

    Readiness + internal-search: wire licensed-corpus outputs

  • Compliance data

    Bump platform-stats DEFAULTS to live Neo4j numbers

  • Performance

    Extend static sitemap-index.xml to 7 chunks

  • Compliance data

    Bump DATA_VERSION 5 to 6 and expand chunks 3 to 7

  • Maintenance

    Cerebras gpt-oss-120b migration + agent/playbook refactors + video pipeline + container logging caps

  • Reliability

    Walkthrough-steps PlatformStats literal needs new fields (Vercel build failed on commit 1988964)

  • Compliance data

    Frontend + api: refresh platform numbers to corpus-complete state (2026-05-31)

  • New capability

    Add Word format and attach v4 files to A3 on ODENNA deliverables

  • Compliance data

    Surface source-grounded verification citations in control detail UI

  • Maintenance

    Skip frameworks that already have a pending correction

  • Maintenance

    Do not mislink state AI acts to the EU AI Act page

  • Compliance data

    Cite each framework in its native section style

  • Compliance data

    Per-clause framework + section citations, clickable

  • Reliability

    Never put "there" mid-sentence

  • Maintenance

    Region/jurisdiction-aware generation + neutralise EU-leaning copy

  • Maintenance

    Nurture drip, upgrade CTA, liability disclaimer

  • Compliance data

    Deeper AI policy + clickable framework links on regulations

  • Maintenance

    Normalise Unicode dashes/quotes in generated AI policy text

  • Maintenance

    Make AI policy output substantive + live proof numbers

  • Maintenance

    Document the AI Use Policy generator (What Was Built #103)

  • Security and privacy

    Redesign AI policy page as a landing page + wire post-signup unlock

  • Reliability

    Wrap useSearchParams in Suspense boundary

  • New capability

    Add AI Acceptable Use Policy generator (universal lead magnet -> signup)

  • Compliance data

    Capture UTM attribution through the readiness funnel

  • New capability

    Add drip-health check to catch silent onboarding-drip drops

  • Maintenance

    Never suppress allowlisted admin address on bounce

  • Maintenance

    Surface signup source attribution on User node + admin Users tab

  • Compliance data

    Sanitize banned characters in discovery-approved framework corrections

  • Maintenance

    Release GNLI Supplement Final v4 on ODENNA deliverables page

  • New capability

    Add SendGrid unsubscribe footer to every marketing email

  • New capability

    Restore admin notifications on signup + add notification on paid upgrade

  • Maintenance

    Refresh marketing claims to match the now-complete catalogue

  • Maintenance

    Polished 688 placeholder sources to verbatim citations

  • Maintenance

    0 empty fields across all 757 frameworks

  • Compliance data

    100% canonical-code coverage: 757 frameworks, every control enriched

  • Maintenance

    Honor churn exemption list in monitor scan

  • Compliance data

    Fix stale fallback text on control dialog + developers page

  • Maintenance

    757 frameworks, 17,736 controls (mass rollout complete)

  • Maintenance

    731 frameworks, 17,223 controls. 38 remaining.

  • Maintenance

    651 frameworks, 15,687 controls

  • Maintenance

    571 frameworks, 14,159 controls

  • Maintenance

    493 frameworks, 12,659 controls

  • Maintenance

    414 frameworks, 11,253 controls (ISO-heavy wave)

  • Maintenance

    335 frameworks, 9,738 unique controls

  • Compliance data

    257 frameworks, 8,077 unique controls with evidence

  • Compliance data

    179 frameworks, 6,495 unique controls with evidence

  • Compliance data

    105 frameworks, 4,872 unique controls with evidence

  • Compliance data

    92 frameworks, 4,438 unique controls with evidence

  • Compliance data

    79 frameworks, 5,731 controls with evidence

  • Maintenance

    Patch developers page with batch 5+6 totals (was missed in 72a5700)

  • Compliance data

    Batches 5 + 6 live: 65 frameworks, 5,178 controls with evidence

  • Compliance data

    41 frameworks, 4,075 controls with evidence

  • Compliance data

    28 frameworks, 2,819 controls with evidence

  • Compliance data

    7 new frameworks (472 controls) live with evidence

  • Compliance data

    8 new frameworks with evidence requirements live

  • Maintenance

    Surface evidence_requirements on /data and /developers marketing pages

  • Compliance data

    Bump DATA_VERSION to 7 after CMMC stub cleanup (32 controls + 6 domains removed)

  • Compliance data

    Bump framework page DATA_VERSION to 6 to bust Vercel ISR cache for new CMMC controls

  • Compliance data

    Surface evidence_requirements on control detail dialog

  • New capability

    Add GNLI Supplement v3 to ODENNA deliverables page

April 2026

12 changes
  • Security and privacy

    Capture acquisition source on /register (UTM, referrer, IP) + Caddy access logs

  • New capability

    Add /outreach handler + reorganize api block to use handle {}

  • New capability

    Add Stripe recovery verification script

  • Reliability

    Rewrite _to_dict() recursively

  • Maintenance

    Replace Enterprise $499/mo with Contact Us on pricing page

  • New capability

    Add contract documents section to ODENNA deliverables page

  • New capability

    Add ODENNA deliverables tracker page at /odenna/deliverables

  • Compliance data

    Fix cross-references returning null row for unmapped controls

  • Reliability

    Use attribute access instead of .get()

  • Maintenance

    Self-healing webhook + daily sync + pinned SDK

  • Reliability

    Convert StripeObject to dict

  • Compliance data

    Add toolkit recommendation CTA to readiness assessment results

March 2026

33 changes
  • Reliability

    Exclude typo domains, fix PayPal backfill date range

  • New capability

    Add automated enterprise outreach system

  • Compliance data

    Add "Verify Your AI Compliance Plan" CTA to readiness result pages

  • Maintenance

    First-time recipients get survey, returning recipients get segmented content

  • Compliance data

    Fix broken readiness link in post-purchase Day 14 (add framework slug)

  • Reliability

    Fix price formatting for segment products (handle string prices)

  • New capability

    14 interest groups, targeted products

  • Maintenance

    Support CSV input for learning path bundle generator

  • New capability

    Add learning path bundle generator for top 20 course topics

  • New capability

    Add daily PayPal scanner for academy post-purchase drip emails

  • Maintenance

    Replace recommendation pool with 26 verified product URLs from BigCommerce export

  • Reliability

    Fix URLs, sender, skip Self-Service Toolkit

  • New capability

    Add post-purchase email drip sequence for repeat purchases

  • Performance

    Add static sitemap-index.xml to bypass Vercel ISR caching issue

  • Reliability

    Fix sitemap index 404 permanently: hardcode chunk count

  • Security and privacy

    Remove all spam trigger words from weekly newsletter

  • Security and privacy

    Lock down newsletter and suppression endpoints with admin auth

  • New capability

    Add auto-ramp system for weekly newsletter (81K emails)

  • Maintenance

    Remove manual unsubscribe links from weekly newsletter footer - SendGrid adds these automatically

  • Maintenance

    Weekly newsletter sends from gerard.blokdyk@theartofservice.co

  • New capability

    Add test_email parameter to send-now endpoint to prevent accidental blasts

  • New capability

    Skip bad products, add advisor/Ivanka, use CSV list

  • New capability

    Add bulletproof weekly product newsletter for 70K email list

  • New capability

    Add SendGrid Event Webhook for email suppression

  • Reliability

    Fix duplicate emails on readiness assessment: remove lead drip trigger

  • New capability

    Update CLAUDE.md with all new features (items 88-92)

  • New capability

    Implement X Feed revenue recommendations: freemium funnel, bundles, consulting upsell

  • New capability

    Add Claude Code prompt to daily discovery email

  • Maintenance

    Also invalidate frameworks:list and sitemap-pairs on discovery corrections

  • Compliance data

    Prevent framework slug 404s permanently

  • Reliability

    Fix discovery system to regenerate slug when renaming frameworks

  • New capability

    Trial drips, behavior scoring, churn prevention

  • Maintenance

    Point robots.txt directly to working sitemap chunks

Generated directly from the commit history of the platform repository. Quiet periods are shown as they were. Commit bodies are never published and entries naming infrastructure or credentials are excluded.