mirror of
https://github.com/formax68/memoChron.git
synced 2026-07-22 05:45:44 +00:00
docs(phase-08): complete phase execution
This commit is contained in:
parent
5e98d96a0a
commit
1236c789da
2 changed files with 19 additions and 19 deletions
|
|
@ -9,7 +9,7 @@ Requirements for the v1.15 Directory Compliance milestone. Closes the Obsidian c
|
|||
|
||||
### Directory scorecard findings
|
||||
|
||||
- [ ] **DIR-01**: No `console.log` / `console.info` / `console.debug` / `console.warn` / `console.error` calls remain in shipped code at the four flagged sites (`CalendarService.ts:249, 282, 324` and `SettingsTab.ts:1720`); the codebase is audited for the same pattern and any remaining sites are either removed or gated behind a developer-only debug flag that is `false` by default
|
||||
- [x] **DIR-01**: No `console.log` / `console.info` / `console.debug` / `console.warn` / `console.error` calls remain in shipped code at the four flagged sites (`CalendarService.ts:249, 282, 324` and `SettingsTab.ts:1720`); the codebase is audited for the same pattern and any remaining sites are either removed or gated behind a developer-only debug flag that is `false` by default
|
||||
- [ ] **DIR-02**: No `.innerHTML` or `.outerHTML` write occurs anywhere in shipped code; every site is rewritten using `createEl({ cls, text, attr })`, `createDiv({ cls })`, `setText()`, or `createElementNS` for SVG
|
||||
- [ ] **DIR-03**: No `element.style.<property>` assignment occurs in shipped code; every flagged property (`border, color, cursor, display, fontSize, height, left, margin, marginTop, opacity, padding, position, textAlign, top, width`) is replaced with a CSS class addition / removal or `setCssProps({ ... })` for dynamic values
|
||||
- [ ] **DIR-04**: All DOM-construction sites in `CalendarView`, `EmbeddedCalendarView`, `EmbeddedAgendaView`, `SettingsTab`, and `viewRenderers` use the Obsidian `createEl` / `createDiv` / `createSpan` helpers exclusively — no `document.createElement(...)` and no string-literal HTML
|
||||
|
|
@ -17,8 +17,8 @@ Requirements for the v1.15 Directory Compliance milestone. Closes the Obsidian c
|
|||
- [ ] **DIR-06**: All `document` references that should reflect the active popout use `activeDocument`; all `setTimeout` / `setInterval` calls that fire in a view context use `activeWindow.setTimeout` / `activeWindow.setInterval` (or the workspace-aware equivalent)
|
||||
- [ ] **DIR-07**: No `as TFile` cast occurs in shipped code; every site that consumes a `TAbstractFile` narrows via `instanceof TFile` first
|
||||
- [ ] **DIR-08**: No floating promise occurs in shipped code; every `Promise`-returning call is either `await`ed, given an explicit `.catch` handler, or marked with the `void` operator. `EmbeddedCalendarView` and `EmbeddedAgendaView` lifecycle methods (`onload`, `onunload`) match the synchronous return type required by `MarkdownRenderChild`
|
||||
- [ ] **DIR-09**: No `any` type appears in shipped source code (test fixtures and `.d.ts` shims excepted); `??` operators do not appear with a constant left-hand side; no lexical declarations appear inside `case` blocks without a block scope; no unnecessary escape characters remain in regular expression literals
|
||||
- [ ] **DIR-10**: ESLint reports zero `@typescript-eslint/no-unused-vars` violations across the source tree (the 21 names flagged by the scorecard — `App`, `CalendarEvent`, `CalendarNotesSettings`, `controls`, `convertTimezone`, `date`, `DateElements`, `DEFAULT_CALENDAR_URLS`, `DropdownComponent`, `e`, `error`, `isNewNote`, `MemoChronSettings`, `Notice`, `plugin`, `Property`, `renderAgendaList`, `target`, `TextAreaComponent`, `TFile`, `title` — are all either deleted or genuinely used)
|
||||
- [x] **DIR-09**: No `any` type appears in shipped source code (test fixtures and `.d.ts` shims excepted); `??` operators do not appear with a constant left-hand side; no lexical declarations appear inside `case` blocks without a block scope; no unnecessary escape characters remain in regular expression literals
|
||||
- [x] **DIR-10**: ESLint reports zero `@typescript-eslint/no-unused-vars` violations across the source tree (the 21 names flagged by the scorecard — `App`, `CalendarEvent`, `CalendarNotesSettings`, `controls`, `convertTimezone`, `date`, `DateElements`, `DEFAULT_CALENDAR_URLS`, `DropdownComponent`, `e`, `error`, `isNewNote`, `MemoChronSettings`, `Notice`, `plugin`, `Property`, `renderAgendaList`, `target`, `TextAreaComponent`, `TFile`, `title` — are all either deleted or genuinely used)
|
||||
- [x] **DIR-11**: `manifest.json` `description` field ends with `.`, `!`, or `?`
|
||||
- [x] **DIR-12**: The GitHub release workflow that publishes `manifest.json`, `main.js`, and `styles.css` attaches a GitHub artifact attestation to every release asset
|
||||
|
||||
|
|
@ -29,7 +29,7 @@ Requirements for the v1.15 Directory Compliance milestone. Closes the Obsidian c
|
|||
### Documentation & guardrails
|
||||
|
||||
- [x] **DOC-01**: A working ESLint configuration (`.eslintrc.json` or `eslint.config.js`) is installed and enforces — at minimum — `no-console`, `no-inner-html`, the Obsidian community linting rules (no inline styles, no `as TFile` cast, no view-in-`registerView`, popout-window helpers), `@typescript-eslint/no-floating-promises`, `@typescript-eslint/no-explicit-any`, and `@typescript-eslint/no-unused-vars`. `npm run lint` is a script in `package.json`. CI (`.github/workflows/`) runs lint on every push and PR. A failing lint blocks the build
|
||||
- [ ] **DOC-02**: `CLAUDE.md` and `.planning/codebase/CONVENTIONS.md` (new or merged into existing codebase docs) carry a "Directory Compliance" do/don't section — one short rule per scorecard finding, each with a one-line rationale and a link to the relevant Obsidian docs page — so future plans land compliant by default
|
||||
- [x] **DOC-02**: `CLAUDE.md` and `.planning/codebase/CONVENTIONS.md` (new or merged into existing codebase docs) carry a "Directory Compliance" do/don't section — one short rule per scorecard finding, each with a one-line rationale and a link to the relevant Obsidian docs page — so future plans land compliant by default
|
||||
|
||||
## v2 Requirements
|
||||
|
||||
|
|
@ -94,7 +94,7 @@ Explicitly excluded for this milestone. Documented to prevent scope creep.
|
|||
|
||||
| Requirement | Phase | Status |
|
||||
|-------------|-------|--------|
|
||||
| DIR-01 | Phase 8 | Pending |
|
||||
| DIR-01 | Phase 8 | Complete |
|
||||
| DIR-02 | Phase 6 | Pending |
|
||||
| DIR-03 | Phase 6 | Pending |
|
||||
| DIR-04 | Phase 6 | Pending |
|
||||
|
|
@ -102,13 +102,13 @@ Explicitly excluded for this milestone. Documented to prevent scope creep.
|
|||
| DIR-06 | Phase 7 | Pending |
|
||||
| DIR-07 | Phase 7 | Pending |
|
||||
| DIR-08 | Phase 7 | Pending |
|
||||
| DIR-09 | Phase 8 | Pending |
|
||||
| DIR-10 | Phase 8 | Pending |
|
||||
| DIR-09 | Phase 8 | Complete |
|
||||
| DIR-10 | Phase 8 | Complete |
|
||||
| DIR-11 | Phase 5 | Complete |
|
||||
| DIR-12 | Phase 5 | Complete |
|
||||
| BUG-07 | Phase 7 | Pending |
|
||||
| DOC-01 | Phase 5 | Complete |
|
||||
| DOC-02 | Phase 8 | Pending |
|
||||
| DOC-02 | Phase 8 | Complete |
|
||||
|
||||
**Coverage:**
|
||||
- v1 requirements: 15 total
|
||||
|
|
|
|||
|
|
@ -2,15 +2,15 @@
|
|||
gsd_state_version: 1.0
|
||||
milestone: v1.15
|
||||
milestone_name: Directory Compliance
|
||||
status: executing
|
||||
stopped_at: Phase 8 context gathered
|
||||
last_updated: "2026-05-17T07:03:18.393Z"
|
||||
status: milestone_complete
|
||||
stopped_at: Milestone complete (Phase 08 was final phase)
|
||||
last_updated: 2026-05-17T13:38:46.565Z
|
||||
last_activity: 2026-05-16 -- Phase 08 execution started
|
||||
progress:
|
||||
total_phases: 8
|
||||
completed_phases: 7
|
||||
total_plans: 46
|
||||
completed_plans: 41
|
||||
completed_plans: 46
|
||||
percent: 88
|
||||
---
|
||||
|
||||
|
|
@ -21,20 +21,20 @@ progress:
|
|||
See: .planning/PROJECT.md (updated 2026-05-13)
|
||||
|
||||
**Core value:** Show the user's calendar inside Obsidian and let them turn any event into a structured note in one click — reliably, across desktop and mobile.
|
||||
**Current focus:** Phase 08 — type-hygiene-conventions
|
||||
**Current focus:** Milestone complete
|
||||
|
||||
## Current Position
|
||||
|
||||
Phase: 08 (type-hygiene-conventions) — EXECUTING
|
||||
Plan: 1 of 5
|
||||
Status: Executing Phase 08
|
||||
Last activity: 2026-05-16 -- Phase 08 execution started
|
||||
Phase: 08
|
||||
Plan: Not started
|
||||
Status: Milestone complete
|
||||
Last activity: 2026-05-17
|
||||
|
||||
## Performance Metrics
|
||||
|
||||
**Velocity:**
|
||||
|
||||
- Total plans completed: 35 (v1.14.0)
|
||||
- Total plans completed: 40 (v1.14.0)
|
||||
- Average duration: -
|
||||
- Total execution time: 0 hours (v1.15)
|
||||
|
||||
|
|
@ -49,7 +49,7 @@ Last activity: 2026-05-16 -- Phase 08 execution started
|
|||
| 05 | TBD | - | - |
|
||||
| 06 | 5 | - | - |
|
||||
| 07 | 7 | - | - |
|
||||
| 08 | TBD | - | - |
|
||||
| 08 | 5 | - | - |
|
||||
|
||||
**Recent Trend:**
|
||||
|
||||
|
|
|
|||
Loading…
Reference in a new issue