Skip to content

Commit a350378

Browse files
committed
file: #187 refine PR #118 entity-as-folder (external contribution from Karen Hsieh)
1 parent 43c5f69 commit a350378

1 file changed

Lines changed: 58 additions & 0 deletions

File tree

Lines changed: 58 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,58 @@
1+
---
2+
id: 187
3+
title: "Refine and land PR #118 — entity-as-folder support (Karen Hsieh)"
4+
status: backlog
5+
source: "external contribution from Karen Hsieh (@ijac13) — PR #118 closes GitHub issue #99 with entity-as-folder scanner support. Spacedock-workflow entity filed to track refinement + review through our standards while preserving contributor attribution on merge."
6+
started:
7+
completed:
8+
verdict:
9+
score: 0.6
10+
worktree:
11+
issue: "#99"
12+
pr: "#118"
13+
mod-block:
14+
---
15+
16+
## Contributor
17+
18+
Karen Hsieh (@ijac13 on GitHub) is the original author and owns the authorship on every commit in `feat/entity-as-folder`. Any refinement we apply must be **additive on top of her branch** (or squash-merge with `Co-authored-by: Karen Hsieh <...>` trailer preserved) — we do NOT rewrite her commits with our authorship. Contributor attribution is load-bearing.
19+
20+
## Why this matters
21+
22+
GitHub issue #99 (filed by CL in 0.9.4) proposed first-class entity-as-folder support so workflows producing many artifacts per entity can organize them under `{slug}/index.md` without breaking the scanner. Karen's PR #118 implements this:
23+
24+
- Scanner descends into `{slug}/index.md` when flat `{slug}.md` is absent.
25+
- `status --set` resolves folder entities by the same rule.
26+
- `status --archive` moves the whole folder to `_archive/{slug}/` and stamps `archived:` inside the inner index.
27+
- `--archived`, `--boot`, `--next`, `--next-id`, `--where` inherit via shared discovery.
28+
- Reserved subdirs (`_archive`, `_mods`) excluded from entity detection.
29+
- Conflict case (both flat + folder present) warns on stderr and prefers folder.
30+
- Flat-file workflows unchanged; 444 tests passing locally per PR body.
31+
32+
This entity exists because **we want to refine the submission through our workflow** before landing — reviewing the design against our standards, verifying coverage, potentially requesting scope adjustments.
33+
34+
## Scope for ideation
35+
36+
- Read the PR diff in full; inventory each change vs the issue-#99 spec.
37+
- Identify refinements (wording, test coverage gaps, edge cases not yet exercised, API-surface questions) to request from Karen OR apply ourselves on a follow-up commit.
38+
- Distinguish "must-fix before merge" refinements from "nice-to-have follow-up."
39+
- Produce a concrete change request list for the PR review, or a clear PASSED-as-is acceptance.
40+
- Confirm CI strategy: PR #118's `Runtime Live E2E` run (24555916111) is currently WAITING for env approval; decide whether to approve before or after ideation.
41+
42+
## Merge strategy
43+
44+
- Preserve authorship. Default path: merge-commit (no squash) so every commit keeps Karen as author.
45+
- If squash is preferred for linear-history reasons, the squash commit MUST include `Co-authored-by: Karen Hsieh <email-from-commit>` in the trailer.
46+
- The FO's `pr-merge` mod's PR-body template does not fit here (this is an external PR, not one we authored). The merge-hook's push step is skipped — the branch is already pushed by the contributor.
47+
48+
## Out of scope
49+
50+
- Rewriting Karen's commits to look like ours.
51+
- Adding a spacedock-workflow-style entity body INSIDE `feat/entity-as-folder` — that's our internal convention, not hers.
52+
- Forcing PR #118 through our ideation-gate-then-implementation pattern — implementation already exists; this workflow entity covers review + refinement only.
53+
54+
## Cross-references
55+
56+
- GitHub issue #99 — the original feature request (authored by CL, 0.9.4)
57+
- PR #118 — the implementation (authored by Karen Hsieh / @ijac13, open)
58+
- CI run 24555916111 — PR #118's Runtime Live E2E, currently WAITING for env approval

0 commit comments

Comments
 (0)