Skip to content

commercial canary: reconcile the landing page, seat vocabulary and signed update eligibility #35

Open

Description

@turinglambdaai

Interaction follow-up — 2026-10-23

The product-specific design finding, source anchors and acceptance task are in #40. Read it before the next related interaction slice. Preserve current writers and this issue's original release/commercial scope; no runtime completion or automatic restart is implied.


授权实施决定 / Authorization handoff — 2026-10-auth-1

离线永久权益 + 更新/功能窗口;不使用激活租约、硬件绑定或设备上限。

完整决定:PRICING.md § Authorization decision for implementation(同仓含完整中文版本)。后续商业授权工作以这一决定为准;旧的商业候选描述若冲突,已被替代。这里只补设计与交接,不宣称运行时接入已经完成,也不自动重启停工产品。

  • 下一实施切片记录实际读取的 repo SHA、中央政策 SHA 与 2026-10-auth-1;文档存在不等于正在运行的 agent 已确认。
  • 按本仓中英文授权决策完成相关验收,并将未执行/失败/排队证据分别记录;免费产品先验证历史门禁移除与数据兼容。

执行更新:2026-10-v2

用户确认所有产品仍在开发、没有实际用户;旧价格/早鸟/收费候选可重做。当前决策:Linux 专业工具;官方 Pro 买断。目标价格:单人 ¥699 / US$99;5 席 ¥2,799 / US$399;单席更新 ¥279 / US$39,5 席更新 ¥1,119 / US$159(均为新增 12 个月)。完整边界与门禁以本仓 PRICING.md 为准(Taskly 文档在 PR #60);这是首发设计,不表示已开卖。

保持 Linux-only。先完成 #35 的真实参考硬件、权限、运行控制及签名更新门禁,再完成 Commerce 购买/重复回调/凭据恢复/更新资格。模拟器通过不能宣称硬件合格;旧 ¥399/¥1599 试拟价和人工购买入口停止作为有效报价。

本次文档/首页交付。已补 agent 路由、反馈与下一步,运行验证仍须按下面验收逐项补证。本文下方旧商业候选及“不开价格预告”的限制已由此版替代,历史代码证据仍保留。


审查结论(P0,2026-10-23)

默认分支 docs/index.html 仍写 GTK3+WebKitGTK4.1,与 Rivet/GTK4 当前架构冲突。PRICING 的“5席”解释为5台设备,named seats/devices 语义未分清;#33/#34 正在补分发产物,不能重复。

实施顺序与范围

#34 的分发切片继续由现有作者完成。随后同步 README/产品站/主站/PRICING:真实 OS/GTK 版本、命名席位与设备上限、365天维护窗和永久使用、14天试用、恢复与退款。延续现有公开 ¥399/$59 单人价和 ¥1599/$239 五席价,不临时改价。与 Commerce #1/#2 完成首个支付→凭据→离线应用→更新资格闭环。支持响应目标需区分尽力目标和合同 SLA。

这是产品/架构路线入口。每次仅认领一个可验收切片,开工记录 starting SHA、owned files、命令与回滚;活动共享层切片完成后再进入,不重叠写入,不重写已有实现。

完成标准

旧 GTK/WebView 安装命令清除并对照实际发布资产;下一版拿到/已装版本在 updates_through 之前/等于/之后有固定 UTC 边界测试;过窗仍可启动合法旧版;不依赖下载日期;团队离线席位如属约定制须明确;硬件时钟/模拟器证据分开。

固定审查证据

本轮是源码、文档、主页与公开发布资产的静态审查,未声称已经运行所有原生平台、硬件或真实支付。执行时重新核对当前状态。

沿用的工作

家族规范入口

产品交付标准、完整审查与主页规划 PR。依赖图仍以 Keel family architecture 为准。具体实现与证据留在本仓已有 canonical 文档;不要另建平行规范。

Activity

  1. turinglambdaai commented on Oct 23, 2026

    @turinglambdaai
    OwnerAuthor

    Claiming the in-repo slice of this issue (one claimable slice at a time, per the issue's protocol).

    Starting SHA: a3e887e (main, post-#38; tree clean, fast-forwarded against origin).
    Owned files this slice: support/updates.rkt, app/gate.rkt, app/backend.rkt, support/updater.rkt (message only if needed), tests/gate-test.rkt, tests/update-test.rkt, tests/backend-wire-test.rkt, docs/update-contract.md, docs/index.html, PRICING.md, PRICING.zh-CN.md, CHANGELOG + version single source.
    Commands: raco test tests/*.rkt (local, minus the known Linux-only wire assertion), PR CI (Linux test + acceptance) as referee, release gate at the tag.
    Rollback: short-lived branch commercial-canary, revert merge or git revert per commit; no data migrations involved (exports are plain pcap/JSON/Markdown files).

    Slice contents (from the issue's 完成标准, against auth decision 2026-10-auth-1):

    1. Raw-data export leaves the legacy Pro gate: pcap-export and Wireshark retained-replay become free (PRICING free scope: "Moving raw capture export out of its legacy Pro gate still requires implementation"). The engineering report becomes the gated paid surface (report action) per the paid scope's evidence-backed reports — the old UI copy already claimed this but no gate existed.
    2. Update eligibility moves to the decision's rule — release time vs updates_through, never the current date ("the current date must not suddenly invalidate an acquired version"): the signed feed's published_at is compared against the entitlement cutoff (day-granular cutoffs extend to that day's end). Fixed UTC boundary tests: cutoff−1s ✓, exactly at cutoff ✓, cutoff+1s ✗, plus an expired-window install keeps its tier and still launches.
    3. Static-review items already green on main (landing page stack wording, seat vocabulary) get re-verified and the remaining doc drift (update-contract.md window paragraph, AppImage install shapes note, landing page asset list) is reconciled.

    Explicitly out of this slice, staying on the issue: real reference-hardware/privilege/runtime gates (need the Linux hardware leg; simulator evidence is never presented as hardware qualification) and the Commerce purchase→credential→eligibility loop (commerce repo).

  2. added a commit that references this issue on Oct 23, 2026
  3. turinglambdaai commented on Oct 23, 2026

    @turinglambdaai
    OwnerAuthor

    Slice delivered: in-repo authorization implementation (PR #39, released as v0.4.0)

    Claimed slice complete. Correction to the claim comment: actual starting base was f0d825c (main had advanced past the quoted a3e887e between writes); ending at merge commit 4516599, release run 39898528464 (success).

    完成标准逐项状态(Completion criteria):

    Item Status Evidence
    旧 GTK/WebView 安装命令清除,对照实际发布资产 ✅ Stack wording fixed on main (dda27d2); this slice added the AppImage install card matching the shipped stable alias; landing page asset list = deb/rpm/AppImage/tar.gz/zip (v0.4.0 ships all)
    updates_through 之前/等于/之后的固定 UTC 边界测试 ✅ tests/gate-test.rkt: cutoff−1s ✓ / exactly at cutoff ✓ / cutoff+1s ✗ (full instant); date-only cutoff extends to day's end; missing authenticated instant fails closed; fixed-UTC determinism asserted
    过窗仍可启动合法旧版 ✅ A credential whose window is entirely past still grants the pro tier, keeps engine rights, and stages exactly the pre-cutoff releases (unit); the gate never touches startup
    不依赖下载/检查日期 ✅ Eligibility is now a pure function of the signed feed's published_at vs updates_through — the decision reads no clock (updates-window-open? has no today/date parameter); previously the day after expiry even the last in-window release was refused
    团队离线席位如属约定制须明确 ✅ PRICING (both languages, on main since fde07e0): "Offline seat limits are contractual, not real-time concurrency enforcement"; five named assignments, one one-seat entitlement per assignee, no floating/concurrent promise
    硬件时钟/模拟器证据分开 ✅ (docs) Landing page, README and ACCEPTANCE keep simulator evidence explicitly separate from NIC/PHC capability; no hardware claim derives from simulator passes
    历史门禁移除与数据兼容 ✅ Raw capture export (pcap-export, Wireshark retained replay) left the Pro gate — wire-verified over real RVT1 with no entitlement (651 tests, 0 failures locally; Linux CI green); exports are plain pcap/JSON/Markdown files, no data migration. The engineering report is now the gated paid evidence surface per the paid scope

    静态审查 P0 复核: landing page stack wording and seat vocabulary were already fixed on main by fde07e0/dda27d2; re-verified at merge — no WebKitGTK/GTK3 references remain in docs/index.html; "5席" reads as five named users in both PRICING languages.

    未执行/排队(kept open on this issue, per the evidence protocol):

    Free-scope implementation status in PRICING (both languages) now states the 0.4.0 fact instead of the pending-move caveat.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions