> For the complete documentation index, see [llms.txt](https://faction-os.gitbook.io/faction-os-docs/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://faction-os.gitbook.io/faction-os-docs/.spec_system/archive/sessions/phase15-session04-company-and-contact-pages/tasks.md).

# Task Checklist

**Session ID**: `phase15-session04-company-and-contact-pages` **Total Tasks**: 21 **Estimated Duration**: 3-4 hours **Created**: 2026-06-02

***

## Legend

* `[x]` = Completed
* `[ ]` = Pending
* `[P]` = Parallelizable (can run with other \[P] tasks)
* `[S1504]` = Session reference (15=phase number, 04=session number)
* `TNNN` = Task ID

***

## Progress Summary

| Category       | Total  | Done   | Remaining |
| -------------- | ------ | ------ | --------- |
| Setup          | 3      | 3      | 0         |
| Foundation     | 5      | 5      | 0         |
| Implementation | 8      | 8      | 0         |
| Testing        | 5      | 5      | 0         |
| **Total**      | **21** | **21** | **0**     |

***

## Setup (3 tasks)

Initial configuration and environment preparation.

* [x] T001 \[S1504] Verify public website prerequisites, package scripts, existing route files, route constants, and `public/press/` policy before implementation (`public-website/package.json`)
* [x] T002 \[S1504] Review Phase 15 company/contact requirements, security findings, static-site boundaries, media provenance gates, and contact routing rules (`.spec_system/PRD/phase_15/session_04_company_and_contact_pages.md`)
* [x] T003 \[S1504] Review existing layout, SEO, navigation, media registry, content/news helpers, and shared CTA patterns for route composition (`public-website/src/data/site.ts`)

***

## Foundation (5 tasks)

Core structures and base implementations.

* [x] T004 \[S1504] Extend site route constants, URLs, reusable contact targets, and structured-data contact alignment for investors, about, contact, and press with types matching declared contract; exhaustive enum handling (`public-website/src/data/site.ts`)
* [x] T005 \[S1504] \[P] Create typed company/contact data module for metadata, route links, investor thesis, about principles, contact intents, press facts, press assets, recent announcement references, and guardrails with types matching declared contract; exhaustive enum handling (`public-website/src/data/company.ts`)
* [x] T006 \[S1504] \[P] Create contact intent grid component with mailto/external link cards, no form controls, explicit external/mailto labels, and platform-appropriate accessibility labels, focus management, and input support (`public-website/src/components/marketing/ContactIntentGrid.astro`)
* [x] T007 \[S1504] \[P] Create press asset grid component with registry-backed optimized previews, provenance/status labels, deterministic no-download state, and bounded launch-ready download handling (`public-website/src/components/marketing/PressAssetGrid.astro`)
* [x] T008 \[S1504] \[P] Create reusable company route panel component for investor/about/press/contact cards and CTA rows with mobile-safe wrapping, stable dimensions, and no color-only semantics (`public-website/src/components/marketing/CompanyRoutePanel.astro`)

***

## Implementation (8 tasks)

Main feature implementation.

* [x] T009 \[S1504] \[P] Implement `/investors` route with BaseLayout, Shell, canonical metadata, category thesis, product wedge, market problem, differentiation, contact CTA, and no unverifiable metrics (`public-website/src/pages/investors.astro`)
* [x] T010 \[S1504] Populate investor copy and CTA data for local-first observability, provider-neutral protocol, developer cockpit, optional collaboration path, and no private financial claims (`public-website/src/data/company.ts`)
* [x] T011 \[S1504] \[P] Implement `/about` route with mission, product principles, local-first stance, audience fit, demo/docs/contact links, and static-site boundary copy (`public-website/src/pages/about.astro`)
* [x] T012 \[S1504] \[P] Implement `/contact` route with segmented product/demo, security, press, investor, and partnership contact paths using mailto or owner-approved external links with no hosted form behavior (`public-website/src/pages/contact.astro`)
* [x] T013 \[S1504] \[P] Implement `/press` route with boilerplate, product summary, brand assets, showcase previews, press contact, recent announcements, and press download policy state (`public-website/src/pages/press.astro`)
* [x] T014 \[S1504] Wire press previews and recent announcement references through registry-backed media and existing content links without promoting conditional media or inventing press releases (`public-website/src/data/company.ts`)
* [x] T015 \[S1504] Add company, investors, contact, and press links to footer or utility navigation while preserving primary product/security/demo/docs navigation (`public-website/src/data/navigation.ts`)
* [x] T016 \[S1504] Review and refine route metadata, structured data, CTA labels, mailto/external link attributes, and no-overclaim boundary copy across all four routes (`public-website/src/data/company.ts`)

***

## Testing (5 tasks)

Verification and quality assurance.

* [x] T017 \[S1504] Run package typecheck and resolve any Astro or TypeScript errors from route props, company data, media keys, navigation links, and structured-data contracts (`public-website/package.json`)
* [x] T018 \[S1504] Run static website build and inspect built investors/about/contact/press HTML for metadata, CTAs, contact links, press asset previews, route links, and deterministic no-download state (`public-website/dist/press/index.html`)
* [x] T019 \[S1504] Manually smoke desktop, tablet, 360px mobile, keyboard focus, long-label wrapping, CTA wrapping, footer reachability, press previews, and external demo/docs/mailto links (`public-website/src/pages/contact.astro`)
* [x] T020 \[S1504] Validate absence of hosted forms, CRM embeds, analytics, trackers, runtime fetches, cookies, localStorage writes, WebSockets, EventSource, and client-side data collection (`public-website/src/pages/contact.astro`)
* [x] T021 \[S1504] Validate ASCII encoding, Unix LF line endings, no public press downloads without evidence, and copy guardrails for no hosted identity, trusted erasure, production-hosted validation, certification, broad media readiness, customer, traction, revenue, market-size, or fundraising claims (`public-website/src/data/company.ts`)

***

## Completion Checklist

Before marking session complete:

* [x] All tasks marked `[x]`
* [x] All tests passing
* [x] All files ASCII-encoded
* [x] implementation-notes.md updated
* [x] Ready for the validate workflow step

***

## Next Steps

Run the validate workflow step to verify session completeness.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://faction-os.gitbook.io/faction-os-docs/.spec_system/archive/sessions/phase15-session04-company-and-contact-pages/tasks.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
