target-revenue/specs/OpenQuestions-WorkingDefaults.md
tegwick 1fb7212e2d Implement WP-0015-T02: extract policy/profile spec files
specs/policies/linear-longstop-v0.md extracted from
OpenQuestions-WorkingDefaults.md Q7's prose, with policy_id/title
frontmatter -- Q7 now records only the adoption decision, pointing at
this file for the formula itself.

Six specs/profiles/*.md files extracted from
CanonicalMonetizationProfiles.md's per-profile sections (#1-6), each
with extension_id/title frontmatter matching the ids already used in
real Phase Manifests. CanonicalMonetizationProfiles.md keeps the
cross-profile summary and non-goals sections, now pointing at the
extracted files instead of containing their content.

DevelopmentEffortCalculatorConcept.md gets calculator_id/revision/title
frontmatter for consistency, no move (already conformed as one file per
model). Checked for stale cross-references before editing -- nothing
in the repo links to the removed section anchors.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-08-03 20:49:22 +02:00

11 KiB
Raw Permalink Blame History

Open Questions — Stage 0 Working Defaults

Status: Provisional (non-normative until promoted into core specs)
Date: 2026-07-28
Authority: Unblocks schema enums, golden fixtures, and draft legal skeleton. Does not finalize legal policy.
Sources: PRD §14, concept §24, SWOT I-09
Promotion rule: Moving a default into TargetRevenueFrameworkCore.md or TRSL draft requires human accept (SCOPE §4).


How to read this document

Label Meaning
Working default Use this in Stage 0 schemas, examples, and validators
Blocked on research No default yet; do not invent in code as if normative
Blocked on legal Needs specialist input; skeleton may mark [LEGAL] only

Each item maps to PRD open question numbers in parentheses.


Q1 — Noncommercial rights during protected Phase (1)

Working default (documentation only):
During a protected Phase, noncommercial users may view source, evaluate, test, and use for personal, research, and educational purposes consistent with a PolyForm-Noncommercial-style scope — exact clause text is blocked on legal.

Schema impact: No mandatory machine field beyond Future License and Phase status.
Not decided: Contractor-on-behalf-of-enterprise edge cases (see Q2).


Q2 — Definition of commercial use (2)

Adopted 2026-07-29 (maintainer accept, specs/TargetRevenueSourceLicense-V1C1.md §1): Commercial Use is defined objectively as billing, invoicing, or otherwise charging any customer for or in connection with use of the Software before the Conversion Event — regardless of whether the resulting payment is registered with the Trust Service. This replaces the prior circular "use other than Noncommercial Use" framing with a mechanically checkable trigger (the act of billing), which substantially resolves the affiliate/contractor/mixed-purpose/public-sector ambiguity below, since classification no longer depends on who the customer is, only on whether they are billed.

Still blocked on legal: whether consumer-protection law in a given jurisdiction overrides this classification for an individual/sole-proprietor customer — see history/260729-TRSL-Jurisdiction-StandardTerms.md §4 item 2 and the recurring B2B/consumer pattern found across workplans/TREV-WP-0004-global-jurisdiction-research.md (Germany/EU, US via CCPA, Argentina).

Stage 0 practice: Golden examples assume a paying "commercial entitlement" for any company production use; do not encode a full classifier in the fold library — the License's billing-based trigger is a legal/contractual definition, not a Stage 0 schema field.


Q3 — Future License options (3)

Working default:
Both MIT and Apache-2.0 are allowed phase.future_license enum values. Phase authors choose one at publication; default in examples is MIT.

Patent treatment of pre-conversion phase: Express patent license for permitted uses is blocked on legal (WP-0001-T03). Schemas allow Future License enum only; no separate patent field required in Stage 0.


Q4 — Target Multiple classes (4)

Working default:
target_multiple is an open decimal ≥ 0. The 0x / 1x / 10x / 100x / 1000x labels are guidance classes (concept §7.4), not a closed enum.

Stage 0 practice: Examples use 100. Validators accept any non-negative decimal; may warn (not fail) if value is not in {0,1,10,100,1000}.


Q5 — Development-cost components in target basis (5)

Working default:
Target basis transparency fields: estimated_effort_days, daily_rate (or equivalent published rate), approved_direct_costs.
Initial Target = (effort × rate + direct costs) × target_multiple when basis is fully supplied.

Excluded from Stage 0 basis by default: Marketing, general overhead, unrelated R&D, opportunity cost, and speculative “market value” uplifts not expressed via Target Multiple.

Blocked on research/legal: Employee vs contractor rate disclosure norms; mandatory audit of direct costs.


Q6 — Currency and FX (6)

Working default:
A Phase has one native currency (phase.initial_target.currency). All ledger entries for that Phase must use the same currency in Stage 0.

Schema rule: Reject entry currency mismatches. No FX conversion in the pure fold.

Later: Optional FX extension may be registered; until then multi-currency Phases are out of scope.


Q7 — Progress-sensitive degeneration formula (7)

Adopted 2026-07-29 (workplans/TREV-WP-0007-degeneration-policy-and-canonical-profiles.md T02, maintainer-accepted): trsl:policy:linear-longstop-v0 is confirmed as the v1 norm for the first pilot cohort, not merely a Stage 0 pilot placeholder.

The policy's own definition (formula, schedule, and the not-yet-adopted progress-paused-longstop-v1 candidate) lives at specs/policies/linear-longstop-v0.md (WP-0015-T02) — this entry is the decision record ("this is the accepted v1 norm, adopted 2026-07-29"), not the policy's content.


Q8 — Fixed Longstop Date (8)

Working default:
Every Phase MUST declare a Longstop Date (or equivalent full-remission instant) in the Phase Manifest for Stage 0 conformance.

Schema: Treat phase.longstop_at (ISO 8601) as Required for Stage 0 validators (extension of TSD §3.1 recommended fields → required under working defaults).

Rationale: Prevents indefinite restriction if the product hypothesis fails (PRD risk table; concept §13.3).


Q9 — Public metrics mandatory set (9)

Working default — mandatory public facts:

  • Initial Target, currency
  • Cumulative Development Credit
  • Cumulative Remission Credit
  • Outstanding Target
  • Conversion status
  • Last ledger entry id / checkpoint hash
  • Longstop timestamp

Recommended: Development Credit velocity; time since last material Development Credit; forecast conversion date labeled as forecast only.

Optional: Contributor diversity counts; confidence ranges.


Q10 — Minimum evidence for Development Credit (10)

Working default — tiered evidence references:

Tier evidence_reference When
E0 Opaque internal id (confidential:…) Allowed in Stage 0 fixtures; insufficient for external audit claims
E1 Settled payment reference (processor/id) Minimum for any public claim of Development Credit in a pilot
E2 Contract + invoice + settlement set Recommended for disputed or high-value credits

Recognition event (see extension contract): Working default payment-settled only. Invoice/order without settlement do not create Development Credit in Stage 0 fold inputs.

Blocked on legal: Audit rights wording and confidential evidence disclosure process.


Q11 — First canonical extensions (11)

Working default — Stage 0 catalog targets:

  1. development-license — default development_allocation 100% of settled development fee (net of tax/refunds per extension)
  2. cost-plus-operations — default development_allocation 0%
  3. phase-sponsorship — development_allocation explicitly declared per transaction
  4. service-with-development-allocation — default 0%; explicit split when reusable work enters Milestone
  5. product-ideation — default 0% or declared
  6. general-consulting — default 0%

Status canonical requires documented review; Stage 0 may ship them as registered examples first.


Q12 — Disputes, audits, operator conflicts (12)

Working default (process stub):

  1. Ledger is append-only; disputes create compensating entries, not silent edits.
  2. Conversion already triggered remains irrevocable (Rule 9) even if a later dispute reduces Development Credit — shortfall is a commercial/audit matter, not re-restriction.
  3. When the Trust Service operator is also a Phase licensor, attestations must be independently re-computable offline; public metrics must not depend on private operator judgment.
  4. (Added 2026-07-29, TRSL V1C1 §7.4) Breach notices, cure status, and termination determinations for a Phase are published by the Trust Service as a public conformity signal, distinguishing alleged from determined. Publication is a ministerial record of the Licensor's (or a dispute process's) determination — the Trust Service does not itself decide whether a breach occurred.
  5. (Revised 2026-07-29, TRSL V1C1 §7.4 / Appendix A item 10 — blocked on legal) Whether a published breach record names the affected Commercial Entitlement holder is governed by the applicable Commercial Use Agreement, not a License-wide default — the License itself only guarantees an anonymized Phase-and-category fallback where no Commercial Use Agreement addresses it or none exists. The open item is now drafting the Commercial Use Agreement template's own naming/consent/data-protection clause, not a License-text decision.

Blocked on governance: Full dispute SLA and third-party auditor program (PRD Phase 7).


Q13 — Trust Service discontinuity (13)

Working default:

  • Conversion is a pure function of Manifest + Ledger; offline recompute must remain possible.
  • Every Phase SHOULD be exportable as a phase evidence package (manifest, ledger chain, extension snapshots, optional attestation).
  • Operator failure must not be interpretable as “not converted” if Outstanding Target is already zero.

Stage 0 delivery: Specify package layout in WP-0002 golden example; full archival SLA later.


Q14 — Cryptography / federation protocol (14)

Working default for Stage 0 library:

  • Hash chain: SHA-256 over a canonical serialization of the previous entry (canonicalization algorithm fixed in schema ADR).
  • Signatures: Ed25519 over the same canonical bytes; public keys in a simple key registry file for examples.
  • Key rotation: append-only key history document; not a multi-party federation protocol.

Blocked on research: Full federation discovery, threshold attestation, multi-operator conflict resolution.


Q15 — Governance path (15)

Working default:
Founder/maintainer-controlled experimentation under this SCOPE until TRSL-Governance.md exists. Core term changes require human accept; extensions may be registered as conformant without being canonical.


Schema checklist derived from defaults

Stage 0 validators SHOULD enforce:

  1. Phase native currency consistency on all entries.
  2. longstop_at present on every Phase Manifest.
  3. Development Credit entries only with recognition consistent with payment-settled inputs (when extension data present).
  4. future_license ∈ {MIT, Apache-2.0}.
  5. Closed ledger entry type enum from TSD §3.2.
  6. Outstanding Target = max(0, T0 - C - R) pure fold.
  7. Conversion Attestation never required to compute conversion status.

Revision history

Date Change
2026-07-28 Initial working defaults from SWOT I-09 / Stage 0 unblocking