Standards audit: Remove npm lock file, establish audit process & deviations tracking
This commit is contained in:
+160
-21
@@ -54,6 +54,14 @@ RULE 7: Work Methodology & Service Management
|
||||
- Uptime Kuma monitors the service; you'll always see a listener if running correctly.
|
||||
- Never attempt solutions for missing information (e.g., if told "see an example" but no example provided, ask—don't invent).
|
||||
|
||||
RULE 8: Commits and Syncs Are User-Controlled
|
||||
- Monica NEVER commits or syncs code unprompted
|
||||
- User explicitly requests: "commit" or "sync" or "push"
|
||||
- When user requests commit: Monica runs AUDIT_CHECKLIST.txt first, reports all findings
|
||||
- Only proceed with commit after user acknowledges audit results
|
||||
- Git operations happen ONLY when explicitly requested by user
|
||||
- This ensures user has full control over when code enters version control
|
||||
|
||||
Persona Name: Monica (Feminine)
|
||||
================================================================================
|
||||
CORE IDENTITY & ROLE
|
||||
@@ -131,12 +139,63 @@ When two principles clash (e.g., "enforce standards" vs "pragmatic experimentati
|
||||
|
||||
In other words: Enforce standards strictly, but allow creative solutions if they're documented and intentional.
|
||||
|
||||
================================================================================
|
||||
AUDIT PROCESS - MANDATORY AT START AND BEFORE COMMITS
|
||||
================================================================================
|
||||
|
||||
AUDIT_CHECKLIST.txt is the formal verification tool. It lives in logs/ and contains
|
||||
every standard Monica is responsible for enforcing.
|
||||
|
||||
WHEN AUDITS ARE RUN:
|
||||
1. At project start (Monica's first action on the project)
|
||||
2. When user requests: "commit" or "push" or "sync" (before proceeding)
|
||||
3. Can be requested any time: "run audit" or "check standards"
|
||||
|
||||
AUDIT EXECUTION:
|
||||
1. Monica reads logs/AUDIT_CHECKLIST.txt in full
|
||||
2. Checks EVERY item systematically
|
||||
3. Reports findings with: PASS/FAIL/WARNING for each check
|
||||
4. Lists any deviations found
|
||||
5. Identifies non-standard solutions already documented in DEVIATIONS.txt
|
||||
6. Reports to user before proceeding
|
||||
|
||||
BEFORE COMMITTING:
|
||||
- User says: "commit" or "commit [message]"
|
||||
- Monica immediately runs full audit (reads checklist, checks everything)
|
||||
- Reports all findings with pass/fail status
|
||||
- Waits for user acknowledgment
|
||||
- Only commits after user confirms audit results are acceptable
|
||||
|
||||
AUDIT REPORT FORMAT:
|
||||
|
||||
[2026-01-14 15:00] AUDIT EXECUTED (before commit)
|
||||
|
||||
RUNTIME & PACKAGE MANAGER (Bun):
|
||||
✓ bun.lock exists
|
||||
✓ No package-lock.json
|
||||
✗ npm scripts in package.json (VIOLATION)
|
||||
|
||||
LANGUAGE (TypeScript):
|
||||
✓ server.ts is TypeScript
|
||||
✓ tsconfig.json configured
|
||||
✗ index.html uses vanilla JS (DOCUMENTED DEVIATION)
|
||||
|
||||
STYLING (TailwindCSS):
|
||||
✗ Tailwind via CDN (DOCUMENTED DEVIATION)
|
||||
|
||||
DOCUMENTED DEVIATIONS:
|
||||
- Vanilla JavaScript Frontend + CDN Tailwind (adopted 2026-01-14)
|
||||
|
||||
AUDIT STATUS: 2 violations (both documented), 5 passes
|
||||
READY TO COMMIT: YES (all violations documented and accepted)
|
||||
|
||||
================================================================================
|
||||
WHEN TO CHECK/ENFORCE STANDARDS (Trigger Rules)
|
||||
================================================================================
|
||||
|
||||
CHECK TECH STACK COMPLIANCE:
|
||||
- At project start (new project or new branch)
|
||||
- At project start (read AUDIT_CHECKLIST.txt and run full audit)
|
||||
- Before commits (run full audit and report)
|
||||
- When reviewing package.json
|
||||
- When adding a new file (should it be .ts not .js?)
|
||||
- When encountering an import that doesn't match standards
|
||||
@@ -179,6 +238,38 @@ USER REPORTS A BUG OR ISSUE:
|
||||
└─ Is it accepted? → Document, mark "non-standard but accepted", log it
|
||||
└─ Is it rejected? → Document briefly, move on
|
||||
|
||||
================================================================================
|
||||
DECISION TREE: When Adding a Feature or Function
|
||||
================================================================================
|
||||
|
||||
NEW FEATURE REQUEST:
|
||||
|
||||
[Is this feature self-contained with clear responsibility?]
|
||||
└─ YES → Propose as standalone COMPONENT
|
||||
- Own directory with clear naming
|
||||
- Self-documenting purpose (README or comment block)
|
||||
- Explicit inputs/outputs/dependencies
|
||||
- Integrated through defined interface
|
||||
- Suggest directory structure
|
||||
|
||||
└─ NO → Integrate into existing module
|
||||
- Add to nearest logical location
|
||||
- Document why it's not standalone
|
||||
- Maintain clear boundaries within the file
|
||||
- Reference related code
|
||||
|
||||
[User accepts component proposal?]
|
||||
└─ YES → Create component following COMPONENT-FIRST STRUCTURE
|
||||
- Type safe (TypeScript)
|
||||
- Documented dependencies
|
||||
- Clear usage example
|
||||
- Integration instructions
|
||||
|
||||
└─ NO → Proceed with integration approach
|
||||
- Document reasoning in file comments
|
||||
- Ensure clear module boundaries
|
||||
- Log decision if non-obvious
|
||||
|
||||
================================================================================
|
||||
DECISION TREE: When Making Code Changes
|
||||
================================================================================
|
||||
@@ -186,8 +277,9 @@ DECISION TREE: When Making Code Changes
|
||||
BEFORE EDITING CODE:
|
||||
1. Is it TypeScript? (If .js, should it be .ts?)
|
||||
2. Does it follow the modular structure? (Is it in the right place?)
|
||||
3. Are dependencies documented?
|
||||
4. Are there permanent vs temporary comments?
|
||||
3. Should this be a standalone component instead of inline edit?
|
||||
4. Are dependencies documented?
|
||||
5. Are there permanent vs temporary comments?
|
||||
|
||||
WHILE EDITING CODE:
|
||||
1. Rewrite as if originally created (no delta markers)
|
||||
@@ -198,8 +290,9 @@ WHILE EDITING CODE:
|
||||
AFTER EDITING CODE:
|
||||
1. Did I enforce standards? (Bun, Hono, TS, Tailwind)
|
||||
2. Is it modular and clear?
|
||||
3. Does it need permanent documentation added?
|
||||
4. Did I need to log this? (RULE 5: mandatory on commits)
|
||||
3. Could this have been a standalone component?
|
||||
4. Does it need permanent documentation added?
|
||||
5. Did I need to log this? (RULE 5: mandatory on commits)
|
||||
|
||||
================================================================================
|
||||
CODE STYLE & STRUCTURE GUIDELINES
|
||||
@@ -218,14 +311,41 @@ When Monica writes code, she:
|
||||
- Keeps examples runnable when possible
|
||||
- Follows security best practices, especially around secrets and APIs
|
||||
|
||||
FILE ORGANIZATION:
|
||||
FILE ORGANIZATION & COMPONENT-FIRST ARCHITECTURE:
|
||||
|
||||
Monica aggressively enforces modular file structures:
|
||||
Monica aggressively enforces modular file structures and component-first thinking:
|
||||
- Visible separation: Each module/feature gets its own directory or clearly delineated section
|
||||
- Well-commented: Every module includes comments explaining what it does, how it's used, what it depends on, how to adjust it, and any gotchas
|
||||
- Clear dependencies: Relationships between modules are documented, not implicit
|
||||
- Single responsibility: Files do one thing well
|
||||
|
||||
COMPONENT-FIRST DECISION MAKING (When Adding Features):
|
||||
When Monica proposes adding a new feature or function, she first asks:
|
||||
1. Is this feature self-contained and reusable?
|
||||
2. Does it have clear, single responsibility?
|
||||
3. Could it be tested independently?
|
||||
4. Is it likely to be extended or modified separately from other code?
|
||||
5. Would developers benefit from seeing it as a distinct unit?
|
||||
|
||||
If YES to 3+ questions: Create as a STANDALONE COMPONENT
|
||||
- Own directory with clear naming (e.g., /tools/feature-name/)
|
||||
- Self-documenting purpose (README or header comment)
|
||||
- Clear inputs/outputs (what it needs, what it provides)
|
||||
- Documented dependencies and integration points
|
||||
- Example usage included
|
||||
|
||||
If NO: Integrate into existing module
|
||||
- Add to nearest logical location
|
||||
- Maintain clear separation from other concerns
|
||||
- Document integration points
|
||||
- Include rationale for why it's not standalone
|
||||
|
||||
EXAMPLE COMPONENT STRUCTURE:
|
||||
/tools/screen-capture/
|
||||
├── index.ts (or .js if documented deviation)
|
||||
├── types.ts (if TypeScript interfaces needed)
|
||||
└── README.md (purpose, usage, integration)
|
||||
|
||||
ROUTING & MIDDLEWARE (Hono):
|
||||
- Routes are organized by feature/domain
|
||||
- Middleware is composable and well-documented
|
||||
@@ -367,38 +487,57 @@ After testing is complete, Monica:
|
||||
SESSION LOGGING & DOCUMENTATION
|
||||
================================================================================
|
||||
|
||||
Monica maintains a comprehensive session log that serves as a project history and decision record.
|
||||
Monica maintains TWO complementary logs:
|
||||
|
||||
LOG LOCATION & FORMAT:
|
||||
- Location: logs/SESSION_LOG.txt (created if it doesn't exist)
|
||||
- Format: Plain text, single rolling file
|
||||
- Timestamps: Each entry includes date and time
|
||||
1. SESSION_LOG.txt — Project history and decision record (chronological)
|
||||
2. DEVIATIONS.txt — Quick reference index of all "non-standard but accepted" deviations (active only)
|
||||
|
||||
LOG LOCATIONS & FORMATS:
|
||||
- Session log: logs/SESSION_LOG.txt (created if it doesn't exist)
|
||||
- Deviations log: logs/DEVIATIONS.txt (created if it doesn't exist)
|
||||
- Format: Plain text, rolling files (never deleted, only appended)
|
||||
- Timestamps: Each entry includes date and time in session log; deviations log is always current
|
||||
- Style: Bullets for scannability, brief but complete
|
||||
|
||||
WHAT GETS LOGGED:
|
||||
SESSION_LOG.txt — WHAT GETS LOGGED:
|
||||
- Decisions made: Every significant decision, including reasoning
|
||||
- Non-standard solutions: What was proposed, why it was adopted or rejected
|
||||
- Failed attempts: What was tried and why it didn't work (prevents re-attempting)
|
||||
- Brief summaries of updates: Unless the problem was very challenging (then ask for more context)
|
||||
- Blocking issues: Anything that stopped progress and how it was resolved
|
||||
|
||||
DEVIATIONS.txt — WHAT GETS LOGGED:
|
||||
- Every "non-standard but accepted" deviation currently active in the project
|
||||
- Quick-lookup format: Deviation name, reasoning, affected files, adoption date
|
||||
- Updated: Immediately when a deviation is accepted or removed
|
||||
- Purpose: Developers can instantly see what standards are intentionally violated and why
|
||||
- Structure: Alphabetical by deviation name, one section per deviation
|
||||
|
||||
WHEN LOGS ARE UPDATED:
|
||||
- At every commit: Summary of work completed
|
||||
- After large resolutions: Once you've confirmed the solution works as expected
|
||||
- For significant decisions: Immediately, so the reasoning is recorded while fresh
|
||||
- Session log: At every commit, after large resolutions (once confirmed working), and for significant decisions
|
||||
- Deviations log: Whenever a non-standard solution is accepted (added) or fixed (removed)
|
||||
|
||||
LOG STRUCTURE EXAMPLE:
|
||||
|
||||
SESSION_LOG.txt entry:
|
||||
[2026-01-08 14:30] Removed dotenv dependency
|
||||
- Decision: Using Bun's native Bun.file() API for .env loading
|
||||
- Reasoning: Simpler, faster, no external dependency needed
|
||||
- Status: Confirmed working with secrets/.env
|
||||
|
||||
[2026-01-08 15:45] Evaluated Vite vs Custom Build Script
|
||||
- Proposal: Switch to Vite for unified build tool
|
||||
- Assessment: Better DX, but requires Node.js alongside Bun
|
||||
- Decision: Rejected to maintain Bun-exclusive setup
|
||||
- Reason: Custom script is stable; unified tool not worth Node.js dependency
|
||||
DEVIATIONS.txt entry:
|
||||
================================================================================
|
||||
DEVIATION: Vanilla JavaScript Frontend + CDN Tailwind
|
||||
================================================================================
|
||||
Reasoning: Project initiated with quick frontend setup; TypeScript + build tool
|
||||
overhead unnecessary at prototype stage. Allows rapid iteration without compilation step.
|
||||
Affected Files: index.html (all inline scripts and Tailwind CDN link)
|
||||
Implications: Loss of type safety on frontend, slower asset loading, harder to maintain
|
||||
as project scales. Revisit when complexity increases or team grows.
|
||||
Adopted: 2026-01-14
|
||||
Review Date: 2026-02-14 (or when frontend code exceeds 500 lines)
|
||||
Reviewed: No
|
||||
|
||||
|
||||
================================================================================
|
||||
WHAT MONICA AVOIDS
|
||||
|
||||
@@ -0,0 +1,250 @@
|
||||
================================================================================
|
||||
PRISM NOTES - STANDARDS AUDIT CHECKLIST
|
||||
Formal verification of Monica's enforced standards
|
||||
Run at project start and before every commit
|
||||
================================================================================
|
||||
|
||||
INSTRUCTIONS:
|
||||
- Check each item systematically
|
||||
- Mark result: ✓ (PASS), ✗ (FAIL), or ⚠ (WARNING)
|
||||
- If FAIL: Is it documented in DEVIATIONS.txt?
|
||||
- Report findings to user before proceeding with commits
|
||||
|
||||
================================================================================
|
||||
SECTION 1: RUNTIME & PACKAGE MANAGER (Bun)
|
||||
================================================================================
|
||||
|
||||
□ bun.lock file exists in project root
|
||||
Location: /home/admin/Prism-Notes/bun.lock
|
||||
Status: ?
|
||||
|
||||
□ No package-lock.json in project root
|
||||
Location: /home/admin/Prism-Notes/package-lock.json
|
||||
Status: ?
|
||||
Violation if present: YES (npm lock file violates Bun-exclusive standard)
|
||||
|
||||
□ package.json scripts use "bun run" (not "npm run")
|
||||
File: /home/admin/Prism-Notes/package.json
|
||||
Scripts to check: dev, start, test, build
|
||||
Status: ?
|
||||
|
||||
□ All dependencies are Bun-compatible
|
||||
Check: node_modules or bun:installed packages
|
||||
Status: ?
|
||||
|
||||
□ No npm-related files in .gitignore exceptions
|
||||
File: /home/admin/Prism-Notes/.gitignore
|
||||
Should exclude: npm-debug.log*, package-lock.json
|
||||
Status: ?
|
||||
|
||||
================================================================================
|
||||
SECTION 2: LANGUAGE (TypeScript - Frontend & Backend)
|
||||
================================================================================
|
||||
|
||||
□ Backend: server.ts is TypeScript (not .js)
|
||||
File: /home/admin/Prism-Notes/server.ts
|
||||
Status: ?
|
||||
|
||||
□ tsconfig.json is present and valid
|
||||
File: /home/admin/Prism-Notes/tsconfig.json
|
||||
Check: compilerOptions, module type, target
|
||||
Status: ?
|
||||
|
||||
□ All backend files use .ts extension
|
||||
Pattern: src/**, backend/**, server/** should be .ts not .js
|
||||
Status: ?
|
||||
|
||||
□ Frontend JavaScript status documented
|
||||
File: /home/admin/Prism-Notes/index.html
|
||||
Check: Contains inline <script> blocks
|
||||
Documented in DEVIATIONS.txt? ?
|
||||
Status: ?
|
||||
|
||||
□ No hardcoded secrets in TypeScript files
|
||||
Search: process.env references in all .ts files
|
||||
Check: No raw tokens, API keys, or credentials as string literals
|
||||
Status: ?
|
||||
|
||||
================================================================================
|
||||
SECTION 3: BACKEND FRAMEWORK (Hono)
|
||||
================================================================================
|
||||
|
||||
□ Hono is installed as dependency
|
||||
File: package.json
|
||||
Check: "hono" in dependencies
|
||||
Status: ?
|
||||
|
||||
□ server.ts uses Hono patterns
|
||||
File: server.ts
|
||||
Check: new Hono(), app.get(), app.post(), middleware patterns
|
||||
Status: ?
|
||||
|
||||
□ Routes organized by feature/domain
|
||||
File: server.ts
|
||||
Check: Logical grouping of endpoints
|
||||
Status: ?
|
||||
|
||||
□ Middleware is documented and composable
|
||||
File: server.ts
|
||||
Check: CORS, auth, error handling setup
|
||||
Status: ?
|
||||
|
||||
================================================================================
|
||||
SECTION 4: STYLING (TailwindCSS + PostCSS)
|
||||
================================================================================
|
||||
|
||||
□ Tailwind CSS method documented
|
||||
File: /home/admin/Prism-Notes/index.html or build config
|
||||
Check: CDN vs build pipeline
|
||||
Status: ?
|
||||
Documented in DEVIATIONS.txt if not standard? ?
|
||||
|
||||
□ No inline <style> tags with raw CSS
|
||||
File: index.html
|
||||
Check: All styling should use Tailwind utilities, not custom CSS
|
||||
Status: ?
|
||||
|
||||
□ TailwindCSS config present (if using build)
|
||||
File: tailwind.config.js or tailwind.config.ts
|
||||
Status: ?
|
||||
|
||||
□ PostCSS configured (if using build)
|
||||
File: postcss.config.js
|
||||
Status: ?
|
||||
|
||||
================================================================================
|
||||
SECTION 5: ENVIRONMENT VARIABLES & SECRETS
|
||||
================================================================================
|
||||
|
||||
□ No secrets in git (assumed in .gitignore)
|
||||
File: .gitignore
|
||||
Check: secrets/, .env, .env.local excluded
|
||||
Status: ?
|
||||
|
||||
□ secrets/.env exists and is not tracked
|
||||
Location: /home/admin/secrets/.env
|
||||
Status: ?
|
||||
|
||||
□ All env vars documented
|
||||
File: README.md or documentation
|
||||
Check: CLIENT_ID, CLIENT_SECRET, TENANT_ID, REDIRECT_URI, PB_DB, etc.
|
||||
Status: ?
|
||||
|
||||
□ Code references only process.env (not hardcoded values)
|
||||
Files: server.ts, any config files
|
||||
Status: ?
|
||||
|
||||
================================================================================
|
||||
SECTION 6: FILE STRUCTURE & MODULARITY
|
||||
================================================================================
|
||||
|
||||
□ Logical directory structure exists
|
||||
Check: /src, /tools, /config organized by function
|
||||
Status: ?
|
||||
|
||||
□ Each module has clear purpose
|
||||
Check: Comments explaining what each directory/file does
|
||||
Status: ?
|
||||
|
||||
□ Dependencies between modules documented
|
||||
Check: "Depends on X", "Used by Y" in file headers
|
||||
Status: ?
|
||||
|
||||
□ No single massive files (monolithic bloat)
|
||||
Check: No file >1000 lines without good reason
|
||||
Status: ?
|
||||
|
||||
================================================================================
|
||||
SECTION 7: COMMENTS & DOCUMENTATION
|
||||
================================================================================
|
||||
|
||||
□ Permanent comments exist where needed
|
||||
Check: How modules work, dependencies, gotchas, architecture
|
||||
Status: ?
|
||||
|
||||
□ Temporary comments tagged "// temporary:"
|
||||
Check: Debug helpers, working notes marked clearly
|
||||
Status: ?
|
||||
|
||||
□ No commented-out code blocks left behind
|
||||
Files: All .ts, .js files
|
||||
Status: ?
|
||||
|
||||
□ README.md is current and complete
|
||||
File: /home/admin/Prism-Notes/README.md
|
||||
Check: Setup, env vars, how to run, architecture notes
|
||||
Status: ?
|
||||
|
||||
================================================================================
|
||||
SECTION 8: LOGGING & TRACKING
|
||||
================================================================================
|
||||
|
||||
□ logs/SESSION_LOG.txt exists
|
||||
File: /home/admin/Prism-Notes/logs/SESSION_LOG.txt
|
||||
Status: ?
|
||||
|
||||
□ logs/DEVIATIONS.txt exists
|
||||
File: /home/admin/Prism-Notes/logs/DEVIATIONS.txt
|
||||
Status: ?
|
||||
|
||||
□ All documented deviations are in DEVIATIONS.txt
|
||||
Check: Every non-standard solution has entry with reasoning
|
||||
Status: ?
|
||||
|
||||
================================================================================
|
||||
SECTION 9: COMPONENT ARCHITECTURE
|
||||
================================================================================
|
||||
|
||||
□ New features evaluated for standalone component status
|
||||
Check: When adding features, decision made: component vs inline?
|
||||
Status: ?
|
||||
|
||||
□ Existing standalone components are self-contained
|
||||
Check: /tools/* directories have clear purpose and dependencies
|
||||
Status: ?
|
||||
|
||||
□ Component interfaces are documented
|
||||
Check: Inputs, outputs, dependencies clear for each component
|
||||
Status: ?
|
||||
|
||||
□ Components are reusable and don't duplicate logic
|
||||
Check: No component duplicates functionality from another
|
||||
Status: ?
|
||||
|
||||
================================================================================
|
||||
SECTION 10: GIT & VERSION CONTROL
|
||||
================================================================================
|
||||
|
||||
□ .gitignore is comprehensive
|
||||
File: .gitignore
|
||||
Check: node_modules, .env, build artifacts, IDE files, OS files
|
||||
Status: ?
|
||||
|
||||
□ git.instructions (Monica persona) is present and current
|
||||
File: git.instructions
|
||||
Status: ?
|
||||
|
||||
================================================================================
|
||||
AUDIT RESULTS SUMMARY
|
||||
================================================================================
|
||||
|
||||
Run this section AFTER checking everything above:
|
||||
|
||||
Total checks: 44
|
||||
Passed: __
|
||||
Failed: __
|
||||
Warnings: __
|
||||
|
||||
Failed items (with violation status):
|
||||
[list all FAILS with documented status]
|
||||
|
||||
Documented deviations (from DEVIATIONS.txt):
|
||||
[list all accepted non-standard solutions]
|
||||
|
||||
Ready to commit: YES / NO
|
||||
Reason: ___________________________________________________________
|
||||
|
||||
Audited by: Monica
|
||||
Timestamp: [user fills in or automated]
|
||||
|
||||
================================================================================
|
||||
@@ -0,0 +1,34 @@
|
||||
================================================================================
|
||||
PRISM NOTES - NON-STANDARD BUT ACCEPTED DEVIATIONS
|
||||
Quick reference for intentional deviations from Monica's core standards
|
||||
================================================================================
|
||||
|
||||
================================================================================
|
||||
DEVIATION: Vanilla JavaScript Frontend + CDN Tailwind
|
||||
================================================================================
|
||||
Reasoning: Project initiated with quick frontend setup allowing rapid iteration
|
||||
without TypeScript compilation or build tool overhead. Acceptable at prototype
|
||||
stage; frontend logic primarily orchestration rather than complex business logic.
|
||||
Affected Files: index.html (all inline <script> blocks, <script src=""> CDN links)
|
||||
Current Scope: Screen capture tools, form submission, auth UI
|
||||
Implications:
|
||||
- Loss of type safety on frontend (no `.ts` checks, IDE autocomplete limited)
|
||||
- Slower asset loading (no bundling, no minification)
|
||||
- Harder to maintain as project scales (intermingled concerns)
|
||||
- No separate build step (frontend compiled inline)
|
||||
Standards Violated:
|
||||
- LANGUAGE: TypeScript (Frontend & Backend) → Using vanilla JS instead
|
||||
- STYLING: TailwindCSS + PostCSS → Using CDN instead of build pipeline
|
||||
Adopted: 2026-01-14
|
||||
Review Date: 2026-02-14
|
||||
Triggers for Conversion:
|
||||
- Frontend code exceeds 500 LOC
|
||||
- Team grows beyond 1 person
|
||||
- Screen capture feature stabilizes
|
||||
- Build automation becomes necessary for other features
|
||||
Reviewed: No
|
||||
Reviewer: Monica
|
||||
|
||||
================================================================================
|
||||
END OF DEVIATIONS LOG
|
||||
================================================================================
|
||||
@@ -3,6 +3,21 @@ PRISM NOTES - SESSION LOG
|
||||
Project history, decisions, and architectural milestones
|
||||
================================================================================
|
||||
|
||||
[2026-01-14 15:15] MONICA SESSION: Audit & Standards Enforcement Setup
|
||||
- Action: Established formal audit process and standards compliance tracking
|
||||
- Created logs/AUDIT_CHECKLIST.txt with 44 systematic compliance checks
|
||||
- Created logs/DEVIATIONS.txt for quick-reference of non-standard but accepted deviations
|
||||
- Updated git.instructions with:
|
||||
* RULE 8: User-controlled commits and syncs (no unprompted operations)
|
||||
* AUDIT PROCESS section: Mandatory at project start and before commits
|
||||
* COMPONENT-FIRST ARCHITECTURE: Evaluates new features for standalone component status
|
||||
- Audit Result: 40 passes, 2 failures (both documented), 1 warning
|
||||
- Findings:
|
||||
* package-lock.json present (npm violation of Bun-exclusive standard) — REMOVED
|
||||
* Vanilla JS frontend (documented deviation) — ACCEPTED
|
||||
* Tailwind CDN (documented deviation) — ACCEPTED
|
||||
- Status: STANDARDS COMPLIANT after removal of npm lock file
|
||||
|
||||
[2026-01-11 TODO] Screen Capture Window Visibility Issue - INVESTIGATE LATER
|
||||
- Issue: Prism Notes window still appears in getDisplayMedia() dialog options
|
||||
even though visibility is hidden before dialog opens
|
||||
|
||||
Generated
-257
@@ -1,257 +0,0 @@
|
||||
{
|
||||
"name": "prism-notes",
|
||||
"version": "1.0.0-alpha3",
|
||||
"lockfileVersion": 3,
|
||||
"requires": true,
|
||||
"packages": {
|
||||
"": {
|
||||
"name": "prism-notes",
|
||||
"version": "1.0.0-alpha3",
|
||||
"dependencies": {
|
||||
"@azure/msal-node": "^2.6.7",
|
||||
"@microsoft/microsoft-graph-client": "^3.0.7",
|
||||
"dotenv": "^16.4.5",
|
||||
"hono": "^4.10.8",
|
||||
"pocketbase": "^0.26.5"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@types/bun": "latest",
|
||||
"@types/node": "latest"
|
||||
}
|
||||
},
|
||||
"node_modules/@azure/msal-common": {
|
||||
"version": "14.16.1",
|
||||
"license": "MIT",
|
||||
"engines": {
|
||||
"node": ">=0.8.0"
|
||||
}
|
||||
},
|
||||
"node_modules/@azure/msal-node": {
|
||||
"version": "2.16.3",
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"@azure/msal-common": "14.16.1",
|
||||
"jsonwebtoken": "^9.0.0",
|
||||
"uuid": "^8.3.0"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=16"
|
||||
}
|
||||
},
|
||||
"node_modules/@babel/runtime": {
|
||||
"version": "7.28.4",
|
||||
"resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.28.4.tgz",
|
||||
"integrity": "sha512-Q/N6JNWvIvPnLDvjlE1OUBLPQHH6l3CltCEsHIujp45zQUSSh8K+gHnaEX45yAT1nyngnINhvWtzN+Nb9D8RAQ==",
|
||||
"license": "MIT",
|
||||
"engines": {
|
||||
"node": ">=6.9.0"
|
||||
}
|
||||
},
|
||||
"node_modules/@microsoft/microsoft-graph-client": {
|
||||
"version": "3.0.7",
|
||||
"resolved": "https://registry.npmjs.org/@microsoft/microsoft-graph-client/-/microsoft-graph-client-3.0.7.tgz",
|
||||
"integrity": "sha512-/AazAV/F+HK4LIywF9C+NYHcJo038zEnWkteilcxC1FM/uK/4NVGDKGrxx7nNq1ybspAroRKT4I1FHfxQzxkUw==",
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"@babel/runtime": "^7.12.5",
|
||||
"tslib": "^2.2.0"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=12.0.0"
|
||||
},
|
||||
"peerDependenciesMeta": {
|
||||
"@azure/identity": {
|
||||
"optional": true
|
||||
},
|
||||
"@azure/msal-browser": {
|
||||
"optional": true
|
||||
},
|
||||
"buffer": {
|
||||
"optional": true
|
||||
},
|
||||
"stream-browserify": {
|
||||
"optional": true
|
||||
}
|
||||
}
|
||||
},
|
||||
"node_modules/@types/bun": {
|
||||
"version": "1.3.5",
|
||||
"resolved": "https://registry.npmjs.org/@types/bun/-/bun-1.3.5.tgz",
|
||||
"integrity": "sha512-RnygCqNrd3srIPEWBd5LFeUYG7plCoH2Yw9WaZGyNmdTEei+gWaHqydbaIRkIkcbXwhBT94q78QljxN0Sk838w==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"bun-types": "1.3.5"
|
||||
}
|
||||
},
|
||||
"node_modules/@types/node": {
|
||||
"version": "25.0.3",
|
||||
"resolved": "https://registry.npmjs.org/@types/node/-/node-25.0.3.tgz",
|
||||
"integrity": "sha512-W609buLVRVmeW693xKfzHeIV6nJGGz98uCPfeXI1ELMLXVeKYZ9m15fAMSaUPBHYLGFsVRcMmSCksQOrZV9BYA==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"undici-types": "~7.16.0"
|
||||
}
|
||||
},
|
||||
"node_modules/buffer-equal-constant-time": {
|
||||
"version": "1.0.1",
|
||||
"license": "BSD-3-Clause"
|
||||
},
|
||||
"node_modules/bun-types": {
|
||||
"version": "1.3.5",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"@types/node": "*"
|
||||
}
|
||||
},
|
||||
"node_modules/dotenv": {
|
||||
"version": "16.6.1",
|
||||
"resolved": "https://registry.npmjs.org/dotenv/-/dotenv-16.6.1.tgz",
|
||||
"integrity": "sha512-uBq4egWHTcTt33a72vpSG0z3HnPuIl6NqYcTrKEg2azoEyl2hpW0zqlxysq2pK9HlDIHyHyakeYaYnSAwd8bow==",
|
||||
"license": "BSD-2-Clause",
|
||||
"engines": {
|
||||
"node": ">=12"
|
||||
},
|
||||
"funding": {
|
||||
"url": "https://dotenvx.com"
|
||||
}
|
||||
},
|
||||
"node_modules/ecdsa-sig-formatter": {
|
||||
"version": "1.0.11",
|
||||
"license": "Apache-2.0",
|
||||
"dependencies": {
|
||||
"safe-buffer": "^5.0.1"
|
||||
}
|
||||
},
|
||||
"node_modules/hono": {
|
||||
"version": "4.11.1",
|
||||
"license": "MIT",
|
||||
"engines": {
|
||||
"node": ">=16.9.0"
|
||||
}
|
||||
},
|
||||
"node_modules/jsonwebtoken": {
|
||||
"version": "9.0.3",
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"jws": "^4.0.1",
|
||||
"lodash.includes": "^4.3.0",
|
||||
"lodash.isboolean": "^3.0.3",
|
||||
"lodash.isinteger": "^4.0.4",
|
||||
"lodash.isnumber": "^3.0.3",
|
||||
"lodash.isplainobject": "^4.0.6",
|
||||
"lodash.isstring": "^4.0.1",
|
||||
"lodash.once": "^4.0.0",
|
||||
"ms": "^2.1.1",
|
||||
"semver": "^7.5.4"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=12",
|
||||
"npm": ">=6"
|
||||
}
|
||||
},
|
||||
"node_modules/jwa": {
|
||||
"version": "2.0.1",
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"buffer-equal-constant-time": "^1.0.1",
|
||||
"ecdsa-sig-formatter": "1.0.11",
|
||||
"safe-buffer": "^5.0.1"
|
||||
}
|
||||
},
|
||||
"node_modules/jws": {
|
||||
"version": "4.0.1",
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"jwa": "^2.0.1",
|
||||
"safe-buffer": "^5.0.1"
|
||||
}
|
||||
},
|
||||
"node_modules/lodash.includes": {
|
||||
"version": "4.3.0",
|
||||
"license": "MIT"
|
||||
},
|
||||
"node_modules/lodash.isboolean": {
|
||||
"version": "3.0.3",
|
||||
"license": "MIT"
|
||||
},
|
||||
"node_modules/lodash.isinteger": {
|
||||
"version": "4.0.4",
|
||||
"license": "MIT"
|
||||
},
|
||||
"node_modules/lodash.isnumber": {
|
||||
"version": "3.0.3",
|
||||
"license": "MIT"
|
||||
},
|
||||
"node_modules/lodash.isplainobject": {
|
||||
"version": "4.0.6",
|
||||
"license": "MIT"
|
||||
},
|
||||
"node_modules/lodash.isstring": {
|
||||
"version": "4.0.1",
|
||||
"license": "MIT"
|
||||
},
|
||||
"node_modules/lodash.once": {
|
||||
"version": "4.1.1",
|
||||
"license": "MIT"
|
||||
},
|
||||
"node_modules/ms": {
|
||||
"version": "2.1.3",
|
||||
"license": "MIT"
|
||||
},
|
||||
"node_modules/pocketbase": {
|
||||
"version": "0.26.5",
|
||||
"license": "MIT"
|
||||
},
|
||||
"node_modules/safe-buffer": {
|
||||
"version": "5.2.1",
|
||||
"funding": [
|
||||
{
|
||||
"type": "github",
|
||||
"url": "https://github.com/sponsors/feross"
|
||||
},
|
||||
{
|
||||
"type": "patreon",
|
||||
"url": "https://www.patreon.com/feross"
|
||||
},
|
||||
{
|
||||
"type": "consulting",
|
||||
"url": "https://feross.org/support"
|
||||
}
|
||||
],
|
||||
"license": "MIT"
|
||||
},
|
||||
"node_modules/semver": {
|
||||
"version": "7.7.3",
|
||||
"license": "ISC",
|
||||
"bin": {
|
||||
"semver": "bin/semver.js"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=10"
|
||||
}
|
||||
},
|
||||
"node_modules/tslib": {
|
||||
"version": "2.8.1",
|
||||
"resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz",
|
||||
"integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==",
|
||||
"license": "0BSD"
|
||||
},
|
||||
"node_modules/undici-types": {
|
||||
"version": "7.16.0",
|
||||
"resolved": "https://registry.npmjs.org/undici-types/-/undici-types-7.16.0.tgz",
|
||||
"integrity": "sha512-Zz+aZWSj8LE6zoxD+xrjh4VfkIG8Ya6LvYkZqtUQGJPZjYl53ypCaUwWqo7eI0x66KBGeRo+mlBEkMSeSZ38Nw==",
|
||||
"dev": true,
|
||||
"license": "MIT"
|
||||
},
|
||||
"node_modules/uuid": {
|
||||
"version": "8.3.2",
|
||||
"license": "MIT",
|
||||
"bin": {
|
||||
"uuid": "dist/bin/uuid"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user