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
9 changes: 6 additions & 3 deletions docs/ALICE_FRIDAY_SEPARATION_PLAN.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,9 @@
# A.L.I.C.E.–Friday Separation Plan

> [!IMPORTANT]\n> **OWNER-RATIFIED FLAGSHIP CAPABILITY RULE:** A.L.I.C.E. is the flagship and mandatory default capability upstream. Through at least completion of A.L.I.C.E. Phase 15, Friday must receive every transferable A.L.I.C.E. capability. Friday may gain a new capability only after A.L.I.C.E. has implemented, evaluated, approved, and gained it, unless MK Rayan records an explicit exact-scope owner override.\n>\n> This owner-ratified rule supersedes conflicting capability-order, team-independence, or Phase 6.5 repository-creation language in this document.
> [!IMPORTANT]
> **OWNER-RATIFIED FLAGSHIP CAPABILITY RULE:** A.L.I.C.E. is the flagship and mandatory default capability upstream. Through at least completion of A.L.I.C.E. Phase 15, Friday must receive every transferable A.L.I.C.E. capability. Friday may gain a new capability only after A.L.I.C.E. has implemented, evaluated, approved, and gained it, unless MK Rayan records an explicit exact-scope owner override.
>
> This owner-ratified rule supersedes conflicting capability-order, team-independence, or Phase 6.5 repository-creation language in this document.


**Version:** 2.0.0
Expand Down Expand Up @@ -30,7 +33,7 @@ The kernel may begin as an independently versioned package boundary while extrac
- **Phase 5.0:** establish host-neutral kernel identity, Experience Ledger, storage/evaluation contracts, Mission Graph contracts, Result Capsules, traceback, attention/workspace projections, speaker context, guest grants, and release-attestation schemas.
- **Phase 6:** implement the Cognitive Workspace and control-plane UI against those contracts.
- **Phase 6.5:** Independent Product Readiness Gate. Prove independent builds, versioned kernel consumption, host isolation, release attestations, production-signing gates, migration, rollback, and parity tracking.
- **Phase 7 onward:** release and evolve products independently while sharing versioned contracts and evaluation suites.
- **Phase 7 onward:** release and evolve products independently within the A.L.I.C.E.-first capability-precedent and dual-approval rules while sharing versioned contracts and evaluation suites.

## 3. Kernel ownership

Expand Down Expand Up @@ -74,7 +77,7 @@ Friday shares A.L.I.C.E.'s generalizable destination capabilities. A.L.I.C.E. ma

## 8. Production governance

Friday development teams may research, design, prototype, implement, test, and propose changes independently. Production promotion requires both:
Before formal handover, Friday work is limited to repository foundation, maintenance, and downstream productization of capabilities already eligible through A.L.I.C.E. After formal handover, a qualified Friday team may independently manage maintenance, product experience, packaging, support, and downstream implementation or testing of capabilities already eligible through A.L.I.C.E. A capability that A.L.I.C.E. has not yet gained remains proposal-only and must be routed upstream; Friday may not implement, activate, or test it as a Friday capability unless Rayan records an explicit exact-scope override. Production promotion requires both:

1. an A.L.I.C.E. audit attestation bound to the exact commit, artifacts, policies, migrations, models, evaluations, and rollback manifest; and
2. MK Rayan's explicit production approval bound to the same candidate.
Expand Down
5 changes: 4 additions & 1 deletion docs/FRIDAY_ARCHITECTURE.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,9 @@
# Friday Technical Architecture

> [!IMPORTANT]\n> **OWNER-RATIFIED FLAGSHIP CAPABILITY RULE:** A.L.I.C.E. is the flagship and mandatory default capability upstream. Through at least completion of A.L.I.C.E. Phase 15, Friday must receive every transferable A.L.I.C.E. capability. Friday may gain a new capability only after A.L.I.C.E. has implemented, evaluated, approved, and gained it, unless MK Rayan records an explicit exact-scope owner override.\n>\n> This owner-ratified rule supersedes conflicting capability-order, team-independence, or Phase 6.5 repository-creation language in this document.
> [!IMPORTANT]
> **OWNER-RATIFIED FLAGSHIP CAPABILITY RULE:** A.L.I.C.E. is the flagship and mandatory default capability upstream. Through at least completion of A.L.I.C.E. Phase 15, Friday must receive every transferable A.L.I.C.E. capability. Friday may gain a new capability only after A.L.I.C.E. has implemented, evaluated, approved, and gained it, unless MK Rayan records an explicit exact-scope owner override.
>
> This owner-ratified rule supersedes conflicting capability-order, team-independence, or Phase 6.5 repository-creation language in this document.


## 1. System identity
Expand Down
11 changes: 7 additions & 4 deletions docs/FRIDAY_PRODUCTION_GOVERNANCE.md
Original file line number Diff line number Diff line change
@@ -1,14 +1,17 @@
# Friday Production Governance

> [!IMPORTANT]\n> **OWNER-RATIFIED FLAGSHIP CAPABILITY RULE:** A.L.I.C.E. is the flagship and mandatory default capability upstream. Through at least completion of A.L.I.C.E. Phase 15, Friday must receive every transferable A.L.I.C.E. capability. Friday may gain a new capability only after A.L.I.C.E. has implemented, evaluated, approved, and gained it, unless MK Rayan records an explicit exact-scope owner override.\n>\n> This owner-ratified rule supersedes conflicting capability-order, team-independence, or Phase 6.5 repository-creation language in this document.
> [!IMPORTANT]
> **OWNER-RATIFIED FLAGSHIP CAPABILITY RULE:** A.L.I.C.E. is the flagship and mandatory default capability upstream. Through at least completion of A.L.I.C.E. Phase 15, Friday must receive every transferable A.L.I.C.E. capability. Friday may gain a new capability only after A.L.I.C.E. has implemented, evaluated, approved, and gained it, unless MK Rayan records an explicit exact-scope owner override.
>
> This owner-ratified rule supersedes conflicting capability-order, team-independence, or Phase 6.5 repository-creation language in this document.


**Version:** 1.0.0
**Version:** 1.1.0
**Status:** Owner-ratified production-promotion standard

## 1. Independent development
## 1. Eligibility-scoped development

A qualified Friday team may research, design, prototype, implement, test, open pull requests, build internal artifacts, and propose product or kernel changes without prior production approval. Candidate work remains in development, laboratory, sandbox, simulation, or explicitly non-production channels.
Before formal handover, Friday work is limited to repository foundation, maintenance, and downstream productization of capabilities already eligible through A.L.I.C.E. After formal handover, a qualified Friday team may independently manage maintenance, product-experience research, packaging, support, and implementation or testing of already eligible capabilities. A capability A.L.I.C.E. has not gained remains proposal-only: Friday may research the problem and prepare an upstream proposal, but may not implement, activate, or test it as a Friday capability unless Rayan records an explicit exact-scope override. Candidate work remains in development, laboratory, sandbox, simulation, or explicitly non-production channels until all applicable gates pass.

## 2. Dual production approval

Expand Down
7 changes: 5 additions & 2 deletions docs/FRIDAY_PRODUCT_VISION.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,9 @@
# Consumer Personal-AI Product Vision

> [!IMPORTANT]\n> **OWNER-RATIFIED FLAGSHIP CAPABILITY RULE:** A.L.I.C.E. is the flagship and mandatory default capability upstream. Through at least completion of A.L.I.C.E. Phase 15, Friday must receive every transferable A.L.I.C.E. capability. Friday may gain a new capability only after A.L.I.C.E. has implemented, evaluated, approved, and gained it, unless MK Rayan records an explicit exact-scope owner override.\n>\n> This owner-ratified rule supersedes conflicting capability-order, team-independence, or Phase 6.5 repository-creation language in this document.
> [!IMPORTANT]
> **OWNER-RATIFIED FLAGSHIP CAPABILITY RULE:** A.L.I.C.E. is the flagship and mandatory default capability upstream. Through at least completion of A.L.I.C.E. Phase 15, Friday must receive every transferable A.L.I.C.E. capability. Friday may gain a new capability only after A.L.I.C.E. has implemented, evaluated, approved, and gained it, unless MK Rayan records an explicit exact-scope owner override.
>
> This owner-ratified rule supersedes conflicting capability-order, team-independence, or Phase 6.5 repository-creation language in this document.


**Status:** Ratified product direction
Expand Down Expand Up @@ -190,4 +193,4 @@ The interface follows a no-empty-slot invariant: it renders only useful task pro

## 9. Independent repository and dual approval

Friday product source remains in an independent repository from its first implementation commit. A future Friday team is free to invent, research, prototype, test, and propose product-specific work, but may not promote new production behavior without both an exact-artifact A.L.I.C.E. audit attestation and Rayan's explicit approval. Emergency rollback and disablement remain available without introducing new behavior.
Friday product source remains in an independent repository from its first implementation commit. After formal handover, a future Friday team may independently manage maintenance, product experience, packaging, support, and downstream implementation or testing of capabilities already eligible through A.L.I.C.E. A capability A.L.I.C.E. lacks must be proposed upstream and remains ineligible for Friday implementation, activation, or testing unless Rayan records an explicit exact-scope override. Production promotion still requires both an exact-artifact A.L.I.C.E. audit attestation and Rayan's explicit approval. Emergency rollback and disablement remain available without introducing new behavior.
7 changes: 5 additions & 2 deletions docs/PRODUCT_FAMILY_CAPABILITY_PARITY.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,9 @@
# Product-Family Capability Parity Standard

> [!IMPORTANT]\n> **OWNER-RATIFIED FLAGSHIP CAPABILITY RULE:** A.L.I.C.E. is the flagship and mandatory default capability upstream. Through at least completion of A.L.I.C.E. Phase 15, Friday must receive every transferable A.L.I.C.E. capability. Friday may gain a new capability only after A.L.I.C.E. has implemented, evaluated, approved, and gained it, unless MK Rayan records an explicit exact-scope owner override.\n>\n> This owner-ratified rule supersedes conflicting capability-order, team-independence, or Phase 6.5 repository-creation language in this document.
> [!IMPORTANT]
> **OWNER-RATIFIED FLAGSHIP CAPABILITY RULE:** A.L.I.C.E. is the flagship and mandatory default capability upstream. Through at least completion of A.L.I.C.E. Phase 15, Friday must receive every transferable A.L.I.C.E. capability. Friday may gain a new capability only after A.L.I.C.E. has implemented, evaluated, approved, and gained it, unless MK Rayan records an explicit exact-scope owner override.
>
> This owner-ratified rule supersedes conflicting capability-order, team-independence, or Phase 6.5 repository-creation language in this document.


**Status:** Ratified architecture standard
Expand Down Expand Up @@ -79,4 +82,4 @@ A.L.I.C.E. may evaluate frontier variants first. Friday productization planning

## 7. Production-governance parity

A dedicated Friday team may diverge in research and product experience, but it may not silently alter shared semantics or unilaterally ship production behavior. Exact-artifact dual approval and emergency rollback boundaries are part of the product-family contract.
A dedicated Friday team may independently manage maintenance, product experience, packaging, support, and productization of capabilities already eligible through A.L.I.C.E. A Friday-originated capability that A.L.I.C.E. lacks must remain an upstream proposal until A.L.I.C.E. has implemented, evaluated, approved, and gained it, unless Rayan records an explicit exact-scope override. The team may not silently alter shared semantics or unilaterally ship production behavior. Exact-artifact dual approval and emergency rollback boundaries are part of the product-family contract.
5 changes: 4 additions & 1 deletion docs/SHARED_KERNEL_EXTRACTION_STANDARD.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,9 @@
# Shared Kernel Extraction Standard

> [!IMPORTANT]\n> **OWNER-RATIFIED FLAGSHIP CAPABILITY RULE:** A.L.I.C.E. is the flagship and mandatory default capability upstream. Through at least completion of A.L.I.C.E. Phase 15, Friday must receive every transferable A.L.I.C.E. capability. Friday may gain a new capability only after A.L.I.C.E. has implemented, evaluated, approved, and gained it, unless MK Rayan records an explicit exact-scope owner override.\n>\n> This owner-ratified rule supersedes conflicting capability-order, team-independence, or Phase 6.5 repository-creation language in this document.
> [!IMPORTANT]
> **OWNER-RATIFIED FLAGSHIP CAPABILITY RULE:** A.L.I.C.E. is the flagship and mandatory default capability upstream. Through at least completion of A.L.I.C.E. Phase 15, Friday must receive every transferable A.L.I.C.E. capability. Friday may gain a new capability only after A.L.I.C.E. has implemented, evaluated, approved, and gained it, unless MK Rayan records an explicit exact-scope owner override.
>
> This owner-ratified rule supersedes conflicting capability-order, team-independence, or Phase 6.5 repository-creation language in this document.


## 1. Purpose
Expand Down
20 changes: 15 additions & 5 deletions policies/friday_production_governance.json
Original file line number Diff line number Diff line change
@@ -1,13 +1,20 @@
{
"schema_version": 1,
"policy_version": "1.1.0",
"policy_id": "friday.production_governance.v1",
"authority": "docs/FRIDAY_PRODUCTION_GOVERNANCE.md",
"capability_ceiling": false,
"candidate_work": {
"independent_research_allowed": true,
"independent_design_allowed": true,
"independent_implementation_allowed": true,
"independent_testing_allowed": true,
"maintenance_allowed": true,
"product_experience_research_allowed": true,
"upstream_proposal_research_allowed": true,
"eligible_capability_productization_allowed": true,
"independent_research_allowed": false,
"independent_design_allowed": false,
"independent_implementation_allowed": false,
"independent_testing_allowed": false,
"new_capability_implementation_as_friday_capability_allowed": false,
"new_capability_testing_as_friday_capability_allowed": false,
"unilateral_production_promotion_allowed": false
},
"production_promotion": {
Expand Down Expand Up @@ -79,6 +86,9 @@
"friday_originated_capability_routes_upstream": true,
"alice_must_gain_capability_before_friday_eligibility": true,
"rayan_owner_override_allowed": true,
"owner_override_schema": "policies/rayan_owner_override_schema.json"
"owner_override_schema": "policies/rayan_owner_override_schema.json",
"legacy_candidate_work_fields_are_deny_by_default": true,
"post_handover_upstream_proposal_research_allowed": true,
"uneligible_capability_implementation_or_testing_allowed": false
}
}
88 changes: 75 additions & 13 deletions tests/governance/test_alice_friday_flagship_governance.py
Original file line number Diff line number Diff line change
Expand Up @@ -6,11 +6,51 @@
ROOT = Path(__file__).resolve().parents[2]
HIGHLIGHT = "OWNER-RATIFIED FLAGSHIP CAPABILITY RULE"

HIGHLIGHT_DOCUMENTS = [
"README.md",
"docs/ALICE_FRIDAY_FLAGSHIP_GOVERNANCE.md",
"docs/ALICE_FRIDAY_SEPARATION_PLAN.md",
"docs/FRIDAY_ARCHITECTURE.md",
"docs/FRIDAY_COGNITIVE_WORKSPACE_AND_PRODUCTION_GOVERNANCE_PLAN.md",
"docs/FRIDAY_PRODUCTION_GOVERNANCE.md",
"docs/FRIDAY_PRODUCT_VISION.md",
"docs/FRIDAY_ROADMAP.md",
"docs/PRODUCT_FAMILY_CAPABILITY_PARITY.md",
"docs/ROADMAP.md",
"docs/SHARED_KERNEL_EXTRACTION_STANDARD.md",
"docs/decisions/ADR-011-friday-independent-repository-dual-approval.md",
]

GOVERNANCE_DOCUMENTS = [
"docs/ALICE_FRIDAY_SEPARATION_PLAN.md",
"docs/FRIDAY_COGNITIVE_WORKSPACE_AND_PRODUCTION_GOVERNANCE_PLAN.md",
"docs/FRIDAY_PRODUCTION_GOVERNANCE.md",
"docs/FRIDAY_PRODUCT_VISION.md",
"docs/PRODUCT_FAMILY_CAPABILITY_PARITY.md",
"docs/decisions/ADR-011-friday-independent-repository-dual-approval.md",
]

FORBIDDEN_LEGACY_PHRASES = [
"Friday development teams may research, design, prototype, implement, test, and propose changes independently.",
"A future Friday team may independently research, design, implement, test, and propose features.",
"The team does not need prior permission to think, research, prototype, or prepare candidates.",
"The team may go its own way in research and implementation.",
"A dedicated Friday team may diverge in research and product experience",
"a Friday team may develop independently but cannot unilaterally ship",
"A future Friday team is free to invent, research, prototype, test, and propose product-specific work",
"Friday's production team is free to invent, investigate, implement, and argue for its own product direction.",
"release and evolve products independently while sharing versioned contracts",
]


def load(relative: str) -> dict:
return json.loads((ROOT / relative).read_text(encoding="utf-8"))


def existing_documents(paths: list[str]) -> list[Path]:
return [ROOT / relative for relative in paths if (ROOT / relative).is_file()]


def test_alice_is_flagship_and_default_upstream() -> None:
policy = load("policies/alice_friday_flagship_governance.json")
assert policy["flagship_product"] == "alice"
Expand Down Expand Up @@ -103,12 +143,25 @@ def test_pre_phase_65_state_is_foundation_only() -> None:
assert "production_runtime_activation" in gate["prohibited_before_gate"]


def test_production_policy_contains_effective_owner_amendment() -> None:
def test_production_policy_is_unambiguous_and_deny_by_default() -> None:
production = load("policies/friday_production_governance.json")
candidate = production["candidate_work"]
assert production["policy_version"] == "1.1.0"
assert candidate["maintenance_allowed"] is True
assert candidate["product_experience_research_allowed"] is True
assert candidate["upstream_proposal_research_allowed"] is True
assert candidate["eligible_capability_productization_allowed"] is True
assert candidate["independent_research_allowed"] is False
assert candidate["independent_design_allowed"] is False
assert candidate["independent_implementation_allowed"] is False
assert candidate["independent_testing_allowed"] is False
assert candidate["new_capability_implementation_as_friday_capability_allowed"] is False
assert candidate["new_capability_testing_as_friday_capability_allowed"] is False
assert candidate["unilateral_production_promotion_allowed"] is False
amendment = production["owner_ratified_flagship_amendment"]
assert amendment["supersedes_candidate_work_for_new_capabilities"] is True
assert amendment["pre_handover_new_capability_implementation_allowed"] is False
assert amendment["pre_handover_new_capability_testing_allowed"] is False
assert amendment["legacy_candidate_work_fields_are_deny_by_default"] is True
assert amendment["uneligible_capability_implementation_or_testing_allowed"] is False
assert amendment["alice_must_gain_capability_before_friday_eligibility"] is True
assert amendment["rayan_owner_override_allowed"] is True

Expand All @@ -121,13 +174,22 @@ def test_owner_override_schema_is_exact_scope_bound() -> None:
assert "risk_disposition" in schema["required"]


def test_highlighted_governance_documents() -> None:
required = [
"docs/ALICE_FRIDAY_FLAGSHIP_GOVERNANCE.md",
"docs/FRIDAY_PRODUCT_VISION.md",
"docs/FRIDAY_ARCHITECTURE.md",
"docs/PRODUCT_FAMILY_CAPABILITY_PARITY.md",
]
for relative in required:
text = (ROOT / relative).read_text(encoding="utf-8")
assert HIGHLIGHT in text
def test_governance_callouts_render_as_github_admonitions() -> None:
documents = existing_documents(HIGHLIGHT_DOCUMENTS)
assert documents
for path in documents:
text = path.read_text(encoding="utf-8")
lines = text.splitlines()
assert HIGHLIGHT in text, path.relative_to(ROOT)
assert "\\n>" not in "\n".join(lines[:12]), path.relative_to(ROOT)
marker_index = lines.index("> [!IMPORTANT]")
assert lines[marker_index + 1].startswith("> **" + HIGHLIGHT)


def test_conflicting_friday_first_language_is_removed() -> None:
documents = existing_documents(GOVERNANCE_DOCUMENTS)
assert documents
for path in documents:
text = path.read_text(encoding="utf-8")
for phrase in FORBIDDEN_LEGACY_PHRASES:
assert phrase not in text, f"{phrase!r} remains in {path.relative_to(ROOT)}"