Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
14 changes: 9 additions & 5 deletions dag/extdeps/instrument/fs_box_v3_v4_v5_faq.dag
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
module extdeps.instrument.fs_box_v3_v4_v5_faq

import std.types { Bool, List, NonEmptyStr }
import std.measure { Minute, minute }
import std.decl_ref { DeclarationRef, WholeDeclaration }
import extdeps.external_authority {
ExternalAuthority, ExternalModelScope, ExternalSubjectRef,
Expand All @@ -16,7 +17,10 @@ import extdeps.uri { Uri, Https }
// pricing was read and is not declared: it is a marketing offer with no executing consumer in
// this change. Account trial/freeze/buffer and the BOX Pro review window are cited because a live
// FS BOX account is a prerequisite of the programming intervention, and BOX Pro's writable-field
// split is what keeps byte 192 from being read out of this FAQ.
// split is what keeps byte 192 from being read out of this FAQ. The trial window and formal-account
// buffer use std.measure Minute the same way the V4 data sheet types battery endurance: seven days
// is 10080 minutes, 24 hours is 1440 minutes. "1-2 working days" stays prose: it is a range over
// business days, which Minute cannot represent.
//
// THE FAQ DOES NOT GROUND LEG PROGRAMMING. It has no hits for disconnect, individually, breakout,
// QSFP56, EEPROM, byte 192, or 0x40. "Offline" is the internet requirement, not write recovery.
Expand All @@ -38,9 +42,9 @@ type FsBoxV3V4V5Faq {
works_offline: Bool
operating_systems: List<NonEmptyStr>
browsers: List<NonEmptyStr>
trial_period: NonEmptyStr
trial_period: Minute
trial_frozen_on_expiry: Bool
formal_account_buffer: NonEmptyStr
formal_account_buffer: Minute
standing: CitedFigureStanding
}

Expand Down Expand Up @@ -75,9 +79,9 @@ data fs_box_v3_v4_v5_faq: FsBoxV3V4V5Faq = FsBoxV3V4V5Faq {
"Google Chrom(68 or newer)" as NonEmptyStr,
"Firefox" as NonEmptyStr,
],
trial_period: "seven-day" as NonEmptyStr,
trial_period: minute(count: 10080),
trial_frozen_on_expiry: true,
formal_account_buffer: "24-hour" as NonEmptyStr,
formal_account_buffer: minute(count: 1440),
standing: CitedToAuthority { authority: extdeps_external_authority_anchor },
}

Expand Down
4 changes: 2 additions & 2 deletions dag/test/claim/fs_box_published_claims_witness_test.dag
Original file line number Diff line number Diff line change
Expand Up @@ -88,9 +88,9 @@ test fn data_sheet_names_bluetooth_4_2_and_usb_c() -> Bool {
}

test fn faq_trial_freezes_and_has_a_24_hour_buffer() -> Bool {
(fs_box_v3_v4_v5_faq.trial_period as String) == "seven-day"
minute_count(m: fs_box_v3_v4_v5_faq.trial_period) == 10080
&& fs_box_v3_v4_v5_faq.trial_frozen_on_expiry
&& (fs_box_v3_v4_v5_faq.formal_account_buffer as String) == "24-hour"
&& minute_count(m: fs_box_v3_v4_v5_faq.formal_account_buffer) == 1440
&& fs_box_v3_v4_v5_faq.custom_compatible_brand_requires_engineering_approval
&& string_contains(
s: fs_box_v3_v4_v5_faq.box_pro_customization_review as String,
Expand Down
Loading