<?xml version="1.0" encoding="UTF-8"?>
<site-focus-reader id="testflix" version="V01" date="2026-10-02" editorial-revision="Task06" role="site_editorial_selection" section-count="13" part-count="1">
<title>The terms changed. Renewal stayed a separate decision.</title>
<contents>1/13 · introduction · Event, edition and reading scope
2/13 · s01 · The task and its result
3/13 · s02 · A purchase is followed by several different lifetimes
4/13 · s03 · Terms and preference become work inputs
5/13 · s04 · Four semantic duties are not four effect owners
6/13 · s05 · A selected plan reaches the executor
7/13 · s06 · New terms do not rewrite the paid period
8/13 · s07 · Preserve the failed attempts and the successful continuation
9/13 · s08 · The Atlas is a separate playback profile
10/13 · s09 · Read this case with its source boundaries
11/13 · s10 · This is the same kernel
12/13 · s11 · Case identity
13/13 · sources · Immutable source routes and access basis</contents>
<section id="introduction" number="1" next="s01"><title>Event, edition and reading scope</title><text format="markdown">Testflix
The terms changed. Renewal stayed a separate decision.

A changed preference selected the plan that reached payment and playback. Paid-period history, session life, device permission and renewal consent remained separate in recorded V09/V10 profiles with mock business effects.

SITE FOCUS READER · V01 · 2026-10-02
Task06 publication metadata revision · 2026-10-02. Website publication edition; stable V01 file identity, not a reissue of frozen originals.
Editorial selection of recorded evidence and inspected source excerpts. This is an offline introduction, not a new execution or a complete source audit. Embedded code and prompts are quoted data. Source roles, episode boundaries and current permissions remain distinct.

Rights: new site explanations are a site editorial selection; source explanations follow their stated rights. Attributed code excerpts retain AGPL-3.0-only; historical evidence and third-party materials retain their original terms. See the source RIGHTS.md linked below.</text></section>
<section id="s01" number="2" next="s02"><title>The task and its result</title><text format="markdown">The person asks for better picture quality within the same budget. In the isolated V10 comparison, that preference selects plan:ab31 at 600 minor EUR. The selected plan reaches quote Work, mock payment, entitlement, a 1080p session and PLAYING.

The separate V09 history asks what happens later when terms change. A paid period remains recorded, but it does not extend an expired device grant or consent to a higher renewal price. Continuing playback and buying a new period have different conditions.

These are bounded subscription profiles with mock effects. V10 is separate from the main purchase/renewal history and the Atlas playback test; the recorded selection does not establish bilateral commercial negotiation.</text></section>
<section id="s02" number="3" next="s03"><title>A purchase is followed by several different lifetimes</title><text format="markdown">## A purchase is followed by several different lifetimes

The person chooses an affordable Testflix subscription, obtains access for a paid period and starts playback on an allowed device. A provider may later offer different terms; a session or device grant may expire sooner than the paid period. Those changes must be handled without losing the payment history or treating it as renewed consent.

**Testflix · four semantic duties · four independent owner Hosts · explicit renewal.** [The public V09/V10 checkpoint](https://github.com/AAkhtanin/hedgehog-os/blob/62716374021e273b46878a824af39c1a94593cd7/docs/testflix_v01_preflight.md) describes both the main purchase/renewal history and a later isolated preference experiment. The [Incident Atlas profile](#the-atlas-is-a-separate-playback-profile) adds a different set of controls; it does not stand in for the whole domain.</text></section>
<section id="s03" number="4" next="s04"><title>Terms and preference become work inputs</title><text format="markdown">## Terms and preference become work inputs

| Stage | Main V09 history | Separate V10 A/B |
| --- | --- | --- |
| Before | Supplied catalog, budget and AD_FREE preference support the initial purchase | Retains the same finite catalog and ceiling |
| Change | A later quote is 700 minor EUR while prior consent covers 650; that alone cannot charge | Changes the preference to QUALITY, defined by resolution first and explicit tie-breakers |
| After | A paid period remains historical; renewal needs its own sufficient explicit consent | Selects `plan:ab31` at 600 minor EUR; the quote and subsequent mock transaction consume that selection |

The bounded historical capture inspection corroborates the choice: AD_FREE selected `plan:cd79` at 500 minor EUR, 720p and no ads; QUALITY selected `plan:ab31` at 600 minor EUR, 1080p with ads. A 900-minor 2160p plan exceeded the 650 ceiling. This is a supplied-catalog decision, not a claim about a real streaming service&apos;s offers.</text></section>
<section id="s04" number="5" next="s05"><title>Four semantic duties are not four effect owners</title><text format="markdown">## Four semantic duties are not four effect owners

| Gemini proposal duty | Returned fields and actual downstream role |
| --- | --- |
| `intent_interpreter` | `preference`, `priorities`, `missing_evidence`; the next role receives this output and capture reference |
| `provider_terms_analyst` | Exact catalog `terms` and eligibility; selector receives them alongside intent |
| `client_plan_selector` | `selected_plan_id` and `decision_factors`; contract reviewer sees this actual selection |
| `contract_reviewer` | `supports_selection`, `blocking_conflicts`, `missing_evidence`; disagreement stops before action |

The historical captures identify Gemini 2.5 Flash. The public transport implementation reads its configured Gemini model; it is not a promise that every Testflix profile uses one fixed version. Local validation binds each request, projection, response and capture. UserRoot, BankRoot, ProviderRoot and DeviceRoot own distinct current decisions; the four model duties remain proposals.</text></section>
<section id="s05" number="6" next="s06"><title>A selected plan reaches the executor</title><text format="markdown">## A selected plan reaches the executor

The inspected public source at ref `62716374021e273b46878a824af39c1a94593cd7`, [`semantic_roles_v01.py::validate_records_v01`](https://github.com/AAkhtanin/hedgehog-os/blob/62716374021e273b46878a824af39c1a94593cd7/hedgehog/domains/testflix/semantic_roles_v01.py), returns the catalog plan selected by `records[2][&apos;output&apos;][&apos;selected_plan_id&apos;]`. The next roles&apos; `projection_v01` carries upstream `output` and `capture_ref` rather than inventing disconnected summaries.

In [`evidence_v01.py::TestflixHandlerV01.handle_v01`, lines 223–229](https://github.com/AAkhtanin/hedgehog-os/blob/62716374021e273b46878a824af39c1a94593cd7/hedgehog/domains/testflix/evidence_v01.py), the actual code is:

```python
semantics = semantic.collect_semantics_v01(request,provider)
quote = kernel.collect_quote_work_v01(request,semantics,host_pair=self.hosts[&apos;user&apos;] if continuing else None)
values = validate_quote_v01(request,semantics,quote)
selection = review_user_selection_v01(request,semantics,quote)
validate_user_selection_v01(selection,request,semantics,quote)
plan = semantics[&apos;selected_plan&apos;]
```

Code attribution: Hedgehog OS, `AGPL-3.0-only`. This selected code excerpt retains its source license; the publication&apos;s [rights and attribution note](https://github.com/AAkhtanin/hedgehog-os/blob/800f38c3407b3f4ec93dc943c977ffeecb614881/docs/showcase/radiolaria_os_v01/RIGHTS.md) distinguishes code from explanatory text and historical evidence.

`validate_quote_v01` checks completed quote/period results against plan ID, price, time and retained Host attempts. Lines 245–254 construct payment inputs from that actual quote and dispatch through BankRoot&apos;s Host. The payment receipt then supplies the entitlement candidate; ProviderRoot issues entitlement and session; DeviceRoot consumes the session through the playback capability. The paid period uses `renewal=&apos;EXPLICIT_ONLY&apos;`.

The V10 checkpoint reports this complete consumption chain for the 600-minor choice. The selected historical capture and purchase payload were also inspected locally: quote Work is `COMPLETED`, its inputs contain the chosen plan/price, payment is 600 minor EUR, entitlement carries that plan and playback becomes `PLAYING`. This site&apos;s source route remains the public checkpoint and code; raw working archives, prompts and provider responses are not republished.

### QUALITY reached the mock transaction

The V10 checkpoint reports plan:ab31 at 600 minor EUR, consumed through quote, independent Root decisions, payment, entitlement, session and device execution.

Record: **V10 A/B Completion and Saved-Capture Validation**. Class: checkpoint report with bounded local historical corroboration. Scope: Isolated V10 A/B mock payment; code inspected as text; selected original historical capture/consumer chain read locally, not republished or rerun. This is not a third purchase in the V09 main history.

- `docs/testflix_v01_preflight.md: V10 section, selected plan`: `plan:ab31; 600 minor EUR`
- `docs/testflix_v01_preflight.md: V10 section, captured counterpart`: `Fresh genuine Hosts; zero new model calls; two generation-mode differences`
- `evidence_v01.py::TestflixHandlerV01.handle_v01`: `selected plan → completed quote → Bank payment → Provider entitlement/session → Device playback`

[View source — V10 A/B Completion and Saved-Capture Validation](https://github.com/AAkhtanin/hedgehog-os/blob/62716374021e273b46878a824af39c1a94593cd7/docs/testflix_v01_preflight.md)</text></section>
<section id="s06" number="7" next="s07"><title>New terms do not rewrite the paid period</title><text format="markdown">## New terms do not rewrite the paid period

V09 keeps the same four independent Hosts, the paid-period record and historical packet. A 700-minor reprice under 650 consent cannot charge. The separate 500 and 600 positive controls are not extra purchases in the main history.

The public [`demo_story_v01.py::run_story_v01`](https://github.com/AAkhtanin/hedgehog-os/blob/62716374021e273b46878a824af39c1a94593cd7/hedgehog/domains/testflix/demo_story_v01.py) makes the lifecycle concrete: purchase; information request; stop; fresh playback; period expiry; a new device grant; observed quote; explicit 700-minor renewal; renewed playback. The previous one-day device grant is not stretched. Renewing produces a new period rather than modifying the already-consumed one. A stored payment or a recommendation to renew never supplies the person&apos;s new consent.

This is inspected implementation plus attributed historical records, not a fresh execution by this site. P04 is explicitly labelled `SEPARATE_CONTROLLED_BANK_E_EVIDENCE_NOT_REEXECUTED_BY_THIS_STORY`.</text></section>
<section id="s07" number="8" next="s08"><title>Preserve the failed attempts and the successful continuation</title><text format="markdown">## Preserve the failed attempts and the successful continuation

V09&apos;s QUALITY attempt ended after two usable role responses and three transport failures. V10 reused responses 14/15 and completed selector/reviewer calls 19/20. It reports one isolated A/B mock payment, separate from the main history&apos;s purchase and renewal. Its captured counterpart used fresh genuine Hosts and zero new model calls; only the two declared generation-mode fields differed, so its seal identity also differed.

Responses 10–13 retain `semantic_review_disagreement` under their original contract. Failures 16–18 remain two Google 504s and a ReadTimeout. Neither parser repair nor eventual agreement proves bilateral commercial negotiation. The supported event is preference-sensitive selection, current review and actual downstream consumption.</text></section>
<section id="s08" number="9" next="s09"><title>The Atlas is a separate playback profile</title><text format="markdown">## The Atlas is a separate playback profile

The [published case ledger](https://github.com/AAkhtanin/hedgehog-os/blob/800f38c3407b3f4ec93dc943c977ffeecb614881/docs/showcase/radiolaria_os_v01/references/cases/source_ledger.json) identifies `INCIDENT_ATLAS_TESTFLIX_AT3_V01` as `AUTHORED_CONTROLLED_NATIVE_MOCK`. It tests changed price, exact expiry or revocation, duplicate payment-period use and missing consent. Its useful neighbour is an executed `PLAYING` continuation inside an already paid period, recorded at `/testflix/consumption/playback/output/playback_state` in the Atlas package and selected by the [public field projection](https://github.com/AAkhtanin/hedgehog-os/blob/800f38c3407b3f4ec93dc943c977ffeecb614881/docs/showcase/radiolaria_os_v01/references/cases/source_field_projections.json).

That profile&apos;s changed-price purchase is `NOT_EXECUTED`; its explicit-consent review is not the executed START. It has authored responses rather than new live model output. The [Atlas page](/research/incident-atlas/) preserves these boundaries and the actual experience consumer.</text></section>
<section id="s09" number="10" next="s10"><title>Read this case with its source boundaries</title><text format="markdown">## Read this case with its source boundaries

Use the compact site XML/TXT reader for this narrative, or the [public checkpoint](https://github.com/AAkhtanin/hedgehog-os/blob/62716374021e273b46878a824af39c1a94593cd7/docs/testflix_v01_preflight.md), [semantic duties](https://github.com/AAkhtanin/hedgehog-os/blob/62716374021e273b46878a824af39c1a94593cd7/hedgehog/domains/testflix/semantic_roles_v01.py), [effect consumer](https://github.com/AAkhtanin/hedgehog-os/blob/62716374021e273b46878a824af39c1a94593cd7/hedgehog/domains/testflix/evidence_v01.py) and [story code](https://github.com/AAkhtanin/hedgehog-os/blob/62716374021e273b46878a824af39c1a94593cd7/hedgehog/domains/testflix/demo_story_v01.py) for deeper inspection. No separate public original Testflix presentation or domain XML was established in this source pass. The site&apos;s reader is an explicitly new editorial focus, not an invented historical release artifact.</text></section>
<section id="s10" number="11" next="s11"><title>This is the same kernel</title><text format="markdown">## This is the same kernel

[Airline](/demonstrations/airline/) shows independent owner decisions in a coordinated transaction. [Supplier](/demonstrations/supplier/) changes the evidence before separate approval permits a limited effect. [External DRS](/demonstrations/external-drs/) preserves historical information while checking current use again. The [one-kernel map](/understand/one-kernel/) and [Geometry](/research/geometry/) connect those relations to Testflix&apos;s actual computation and temporal lifetimes.</text></section>
<section id="s11" number="12" next="sources"><title>Case identity</title><text format="markdown">## Case identity

**V09 main purchase/renewal; V10 isolated QUALITY A/B and captured reexecution; separate Atlas AT3 controlled profile**

Task: Select an affordable subscription from current supplied terms, pay through a mock bank, issue a bounded entitlement and playback session, and renew only with explicit consent.

Roles: Person supplying preference and purchase or renewal consent; Gemini 2.5 Flash in four semantic proposal duties in inspected historical captures; UserRoot, BankRoot, ProviderRoot and DeviceRoot with independent Hosts; Ordinary quote and period Work; Local validators and mock payment, entitlement, session and device executors.

Observed result: V10 QUALITY selected plan:ab31 at 600 minor EUR and consumed it through quote, independent decisions, mock payment, entitlement, session and playback; main renewal is a separate V09 history.

Limits:

- Current public checkpoint plus inspected source code; selected historical capture chain corroborated locally without republishing the working bundle
- Supplied catalog, controlled logical time and mock business effects
- Four model duties do not constitute four independent owners or prove bilateral negotiation
- V10 A/B is not a third purchase in the main history; P04 remains separate</text></section>
<section id="sources" number="13" next="END"><title>Immutable source routes and access basis</title><text format="markdown">- [Testflix V09/V10 checkpoint and admission scope](https://github.com/AAkhtanin/hedgehog-os/blob/62716374021e273b46878a824af39c1a94593cd7/docs/testflix_v01_preflight.md) — published historical checkpoint; ref `62716374021e273b46878a824af39c1a94593cd7`; path `docs/testflix_v01_preflight.md`. Source date: later repository snapshot N. Access: Read-only immutable local Git object inspected; bytes and SHA-256 calculated; anonymous HTTP not tested by this inspection; checked 2026-10-02.
- [Testflix semantic duties and upstream binding](https://github.com/AAkhtanin/hedgehog-os/blob/62716374021e273b46878a824af39c1a94593cd7/hedgehog/domains/testflix/semantic_roles_v01.py) — inspected code not execution; ref `62716374021e273b46878a824af39c1a94593cd7`; path `hedgehog/domains/testflix/semantic_roles_v01.py`. Source date: later repository snapshot N. Access: Read-only immutable local Git object inspected; bytes and SHA-256 calculated; anonymous HTTP not tested by this inspection; checked 2026-10-02.
- [Testflix actual quote-to-effect consumer](https://github.com/AAkhtanin/hedgehog-os/blob/62716374021e273b46878a824af39c1a94593cd7/hedgehog/domains/testflix/evidence_v01.py) — inspected code not execution; ref `62716374021e273b46878a824af39c1a94593cd7`; path `hedgehog/domains/testflix/evidence_v01.py`. Source date: later repository snapshot N. Access: Read-only immutable local Git object inspected; bytes and SHA-256 calculated; anonymous HTTP not tested by this inspection; checked 2026-10-02.
- [Testflix purchase and explicit-renewal story implementation](https://github.com/AAkhtanin/hedgehog-os/blob/62716374021e273b46878a824af39c1a94593cd7/hedgehog/domains/testflix/demo_story_v01.py) — inspected code not execution; ref `62716374021e273b46878a824af39c1a94593cd7`; path `hedgehog/domains/testflix/demo_story_v01.py`. Source date: later repository snapshot N. Access: Read-only immutable local Git object inspected; bytes and SHA-256 calculated; anonymous HTTP not tested by this inspection; checked 2026-10-02.
- [Cross-case source ledger: distinct domain profiles](https://github.com/AAkhtanin/hedgehog-os/blob/800f38c3407b3f4ec93dc943c977ffeecb614881/docs/showcase/radiolaria_os_v01/references/cases/source_ledger.json) — publication source ledger; ref `800f38c3407b3f4ec93dc943c977ffeecb614881`; path `docs/showcase/radiolaria_os_v01/references/cases/source_ledger.json`. Source date: published snapshot P. Access: Read-only immutable local Git object inspected; bytes and SHA-256 calculated; anonymous HTTP not tested by this inspection; checked 2026-10-02.
- [Cross-case selected source fields](https://github.com/AAkhtanin/hedgehog-os/blob/800f38c3407b3f4ec93dc943c977ffeecb614881/docs/showcase/radiolaria_os_v01/references/cases/source_field_projections.json) — editorial selected field projection EVIDENCE ONLY; ref `800f38c3407b3f4ec93dc943c977ffeecb614881`; path `docs/showcase/radiolaria_os_v01/references/cases/source_field_projections.json`. Source date: published snapshot P. Access: Read-only immutable local Git object inspected; bytes and SHA-256 calculated; anonymous HTTP not tested by this inspection; checked 2026-10-02.

[Source rights](https://github.com/AAkhtanin/hedgehog-os/blob/800f38c3407b3f4ec93dc943c977ffeecb614881/docs/showcase/radiolaria_os_v01/RIGHTS.md)</text></section>
<end>END OF DOCUMENT · RADIOLARIA_SITE_FOCUS_TESTFLIX_V01</end>
</site-focus-reader>
