p08-seo-tweaks
This commit is contained in:
2
openspec/changes/p05-no-ownership/.openspec.yaml
Normal file
2
openspec/changes/p05-no-ownership/.openspec.yaml
Normal file
@@ -0,0 +1,2 @@
|
||||
schema: spec-driven
|
||||
created: 2026-02-12
|
||||
65
openspec/changes/p05-no-ownership/design.md
Normal file
65
openspec/changes/p05-no-ownership/design.md
Normal 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?
|
||||
26
openspec/changes/p05-no-ownership/proposal.md
Normal file
26
openspec/changes/p05-no-ownership/proposal.md
Normal 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.
|
||||
@@ -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
|
||||
@@ -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
|
||||
@@ -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 user’s 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
|
||||
24
openspec/changes/p05-no-ownership/tasks.md
Normal file
24
openspec/changes/p05-no-ownership/tasks.md
Normal 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
|
||||
Reference in New Issue
Block a user