Reorganize workspace and archive skill artifacts
This commit is contained in:
@@ -0,0 +1,39 @@
|
||||
## ADDED Requirements
|
||||
|
||||
### Requirement: Knowledge entry discovery
|
||||
The system SHALL scan all directories matching the pattern `knowledge/entries/knowledge_YYYYMMDD_Title/` and extract metadata from each entry's `.md` file.
|
||||
|
||||
If `knowledge/entries/` does not exist, the system SHALL fall back to scanning `knowledge_YYYYMMDD_Title/` directories in the project root for backward compatibility.
|
||||
|
||||
Metadata fields to extract from YAML frontmatter:
|
||||
- `title` (required) — entry title
|
||||
- `author` (optional) — author name
|
||||
- `date` (optional) — creation date from directory name (YYYYMMDD)
|
||||
- `tags` (optional) — array of tags
|
||||
|
||||
#### Scenario: Valid knowledge directory with complete frontmatter
|
||||
- **WHEN** a directory `knowledge/entries/knowledge_20260518_mattpocock_skills/` contains `knowledge_20260518_mattpocock_skills.md` with valid YAML frontmatter including title, author, date, and tags
|
||||
- **THEN** the system extracts all metadata fields and displays them in the index
|
||||
|
||||
#### Scenario: Knowledge directory with minimal frontmatter
|
||||
- **WHEN** a knowledge directory has a `.md` file whose frontmatter contains only `title` (no tags, no author)
|
||||
- **THEN** the system extracts the title and treats tags as an empty array
|
||||
|
||||
#### Scenario: Missing or malformed YAML frontmatter
|
||||
- **WHEN** a knowledge directory's `.md` file has no YAML frontmatter or the frontmatter is malformed
|
||||
- **THEN** the system SHALL display the entry using the directory name as a fallback title, with "unknown" date and no tags
|
||||
|
||||
#### Scenario: Multiple knowledge directories present
|
||||
- **WHEN** the project contains 10 knowledge directories
|
||||
- **THEN** the system SHALL display all 10 entries sorted by date descending
|
||||
|
||||
### Requirement: Manifest-based file discovery
|
||||
The system SHALL generate an inline JavaScript entries array from the local filesystem at build time.
|
||||
|
||||
#### Scenario: Entries contain valid paths
|
||||
- **WHEN** the generated entries array contains paths such as `knowledge/entries/knowledge_20260417_Waza`
|
||||
- **THEN** the system SHALL render each entry and link its title to the corresponding `.html` file
|
||||
|
||||
#### Scenario: Backward-compatible root directory scan
|
||||
- **WHEN** `knowledge/entries/` does not exist and root-level `knowledge_YYYYMMDD_Title/` directories exist
|
||||
- **THEN** the system SHALL scan root-level knowledge directories and render them normally
|
||||
Reference in New Issue
Block a user