p08-seo-tweaks

This commit is contained in:
2026-02-13 00:49:22 -05:00
parent a1da041f14
commit 88a5540b7d
63 changed files with 2228 additions and 37 deletions

View File

@@ -0,0 +1,2 @@
schema: spec-driven
created: 2026-02-12

View File

@@ -0,0 +1,65 @@
## Context
ClawFort currently has a single-page news experience and no dedicated policy/disclaimer documents accessible from primary navigation. This creates ambiguity around authorship, verification, and acceptable use expectations.
This change introduces lightweight policy pages and footer navigation updates without changing core data flows or APIs.
## Goals / Non-Goals
**Goals:**
- Add visible footer links for Terms of Use and Attribution.
- Add dedicated pages with explicit non-ownership and AI-generation disclosures.
- Add clear risk language that content is unverified and users act at their own risk.
**Non-Goals:**
- Implementing full legal-policy versioning workflows.
- User-specific policy acceptance tracking.
- Backend auth/session changes.
## Decisions
### Decision: Serve policy pages as static frontend documents
**Decision:** Implement `terms.html` and `attribution.html` as static pages in the frontend directory.
**Rationale:**
- Lowest complexity for current architecture.
- Policy content is mostly static and does not require dynamic API data.
**Alternatives considered:**
- Backend-rendered templates: rejected due to unnecessary server complexity.
### Decision: Add persistent footer links on main page and policy pages
**Decision:** Footer includes links on landing page and reciprocal navigation from policy pages back to home.
**Rationale:**
- Improves discoverability and prevents navigation dead ends.
**Alternatives considered:**
- Header-only links: rejected due to crowded header and lower policy discoverability.
### Decision: Keep disclaimer wording explicit and prominent
**Decision:** Use direct language in page body and heading hierarchy emphasizing AI generation, non-ownership, and use-at-own-risk boundaries.
**Rationale:**
- Meets intent of legal disclosure and user expectation setting.
**Alternatives considered:**
- Compact single-line disclaimers: rejected as insufficiently clear.
## Risks / Trade-offs
- **[Risk] Disclaimer copy may still be interpreted differently by jurisdictions** -> Mitigation: keep language clear and easily editable in static pages.
- **[Trade-off] Static pages require redeploy for copy updates** -> Mitigation: isolate content in dedicated files for quick revision.
## Migration Plan
1. Add static policy pages under frontend.
2. Add footer links in the main page and cross-links in policy pages.
3. Validate page serving and navigation in local runtime.
Rollback:
- Remove policy pages and footer links; no data migration required.
## Open Questions
- Should policy pages include effective-date/version metadata in this phase?

View File

@@ -0,0 +1,26 @@
## Why
The site needs explicit legal/disclaimer pages so users understand content ownership boundaries and reliability limits. Adding these now reduces misuse risk and sets clear expectations for AI-generated, unverified information.
## What Changes
- Add two footer links: **Terms of Use** and **Attribution**.
- Create an **Attribution** page with clear disclosure that content is AI-generated and not authored/verified by the site owner.
- Create a **Terms of Use** page stating users must use the information at their own risk because it is not independently verified.
- Ensure footer links are visible and route correctly from the landing page.
## Capabilities
### New Capabilities
- `footer-policy-links`: Add footer navigation entries for Terms of Use and Attribution pages.
- `attribution-disclaimer-page`: Provide a dedicated attribution/disclaimer page with explicit AI-generation and non-ownership statements.
- `terms-of-use-risk-disclosure`: Provide a terms page that clearly states unverified information and user-at-own-risk usage.
### Modified Capabilities
- None.
## Impact
- **Frontend/UI:** Footer layout and navigation updated; two new legal/disclaimer pages added.
- **Routing/Serving:** Backend/static serving may need routes for new pages if not purely static-linked.
- **Content/Policy:** Adds formal disclaimer language for authorship, verification, and usage risk.

View File

@@ -0,0 +1,14 @@
## ADDED Requirements
### Requirement: Attribution page discloses AI generation and non-ownership
The system SHALL provide an Attribution page with explicit statements that content is AI-generated and not personally authored by the site owner.
#### Scenario: Attribution page title and disclosure content
- **WHEN** a user opens the Attribution page
- **THEN** the page title clearly indicates attribution/disclaimer purpose
- **AND** the body states that content is AI-generated and not generated by the owner as an individual
#### Scenario: Attribution page includes non-involvement statement
- **WHEN** a user reads the Attribution page
- **THEN** the page explicitly states owner non-involvement in generated content claims
- **AND** wording is presented in primary readable content area

View File

@@ -0,0 +1,14 @@
## ADDED Requirements
### Requirement: Footer exposes policy navigation links
The system SHALL display footer links for Terms of Use and Attribution on the landing page.
#### Scenario: Footer links visible on landing page
- **WHEN** a user loads the main page
- **THEN** the footer includes links labeled "Terms of Use" and "Attribution"
- **AND** links are visually distinguishable and keyboard focusable
#### Scenario: Footer links navigate correctly
- **WHEN** a user activates either policy link
- **THEN** the browser navigates to the corresponding policy page
- **AND** navigation succeeds without API dependency

View File

@@ -0,0 +1,14 @@
## ADDED Requirements
### Requirement: Terms page states unverified-content risk
The system SHALL provide a Terms of Use page that states information is unverified and use is at the users own risk.
#### Scenario: Terms page risk statement visible
- **WHEN** a user opens the Terms of Use page
- **THEN** the page includes clear at-own-risk usage language
- **AND** the page states information is not independently verified
#### Scenario: Terms page references source uncertainty
- **WHEN** a user reads terms details
- **THEN** the page explains content is surfaced from external/AI-generated sources
- **AND** users are informed responsibility remains with their own decisions

View File

@@ -0,0 +1,24 @@
## 1. Footer Policy Navigation
- [x] 1.1 Add Terms of Use and Attribution links to primary footer
- [x] 1.2 Ensure policy links are keyboard focusable and readable on all breakpoints
## 2. Attribution Page Content
- [x] 2.1 Create attribution page with explicit AI-generated and non-ownership disclosure title/content
- [x] 2.2 Add statement clarifying owner non-involvement in generated content claims
## 3. Terms of Use Risk Disclosure
- [x] 3.1 Create Terms of Use page with unverified-content and use-at-own-risk statements
- [x] 3.2 Add language that users remain responsible for downstream use decisions
## 4. Routing and Page Serving
- [x] 4.1 Wire policy page routes/serving behavior from current frontend/backend structure
- [x] 4.2 Add return navigation between home and policy pages
## 5. Validation and Documentation
- [x] 5.1 Validate footer link navigation and policy page rendering on desktop/mobile
- [x] 5.2 Update README or docs with policy page locations and purpose