Commit graph

119 commits

Author SHA1 Message Date
Fade78
e69757ccab Remove chmod from command whitelist
chmod has no legitimate use case in Fileshed context:
- File permissions are managed by Fileshed's own system (zones, groups, modes)
- Unix permissions are never exposed to users via the API
- Allowing chmod creates a security risk (executable scripts)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-02 18:38:14 +01:00
Fade
6ac7d26c48
Merge pull request #7 from Fade78/dev/nfs-compatibility-1.0.5
Dev/nfs compatibility 1.0.5
2026-01-31 16:51:17 +01:00
Fade78
f1ef5e614d Update external security reviews for v1.0.5
- Updated ChatGPT 5.2 Instant review
- Updated Claude Opus 4.5 Thinking review

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-31 16:47:15 +01:00
Fade78
0664545b27 Bump version to 1.0.5 - NFS compatibility
- Add sqlite_journal_mode valve for NFS-safe SQLite operations
- Extract _apply_sqlite_journal_mode() helper (DRY)
- Add NFS deployment documentation in SPEC.md
- Add 5 tests for journal modes (1196-1200)
- Update test count to 1200

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-31 16:38:31 +01:00
Fade78
b8208af647 Extracted docs.zip to docs 2026-01-31 16:16:13 +01:00
Fade78
56b4c000e7 Created ZIP: docs.zip 2026-01-31 16:16:13 +01:00
Fade78
bfb8bdee3a Extracted docs.zip to docs 2026-01-31 16:00:11 +01:00
Fade78
1766026fea Created ZIP: docs.zip 2026-01-31 16:00:11 +01:00
Fade78
02a4bf6e55 Extracted docs.zip to docs 2026-01-31 15:59:02 +01:00
Fade78
2a38dc8b2c Created ZIP: docs.zip 2026-01-31 15:59:02 +01:00
Fade78
762a9cef06 Extracted docs.zip to docs 2026-01-31 15:57:05 +01:00
Fade78
9d42f512b5 Created ZIP: docs.zip 2026-01-31 15:57:05 +01:00
Fade78
5971475fd4 Replace "Audited" with "AI-Reviewed" for transparency
- Change badge: "audited" → "AI-reviewed"
- Rename section: "Testing & Audits" → "Testing & Security Reviews"
- Change table header: "Auditor" → "Reviewer"
- Add disclaimer note about AI-assisted review vs formal audit

This clarifies that security reviews were performed by AI models
(Claude Opus 4.5, ChatGPT 5.2), not by human experts or third-party firms.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-31 15:15:38 +01:00
Fade
650ea5ed18
Merge pull request #6 from Fade78/test/audit-external-2026-01-31
Release 1.0.4: Extended tests, bug fixes, documentation sync
2026-01-31 14:49:49 +01:00
Fade78
84b4a6925e Fix README discrepancies
- Fix test count: 1101 → 1195
- Fix ChatGPT rating: 5/5 → 4.5/5 (matches audit report)
- Fix operation count in example: 10 → 9
- Fix typo: anthopic → anthropic (filename + link)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-31 13:48:39 +01:00
Fade78
5a617330d6 Bump version to 1.0.4
- Update version in Fileshed.py
- Update README badges (version + tests count 1195)
- Update Exec_tests.md version

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-31 13:44:59 +01:00
Fade78
ab13a4eea3 Add venv/ to .gitignore
Prevent accidental venv directories at project root.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-31 13:42:10 +01:00
Fade78
e22493ef19 Update Exec_tests.md: 1195/1195 tests passed
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-31 13:38:43 +01:00
Fade78
673b925c08 Extracted docs.zip to docs 2026-01-31 13:38:43 +01:00
Fade78
43cea19106 Created ZIP: docs.zip 2026-01-31 13:38:43 +01:00
Fade78
bd4f1c8028 Extracted docs.zip to docs 2026-01-31 13:38:43 +01:00
Fade78
2d4136ea48 Created ZIP: docs.zip 2026-01-31 13:38:43 +01:00
Fade78
ad85538952 Extracted docs.zip to docs 2026-01-31 13:38:43 +01:00
Fade78
db1ccd0ec8 Created ZIP: docs.zip 2026-01-31 13:38:43 +01:00
Fade78
30b8cbc6fc Extracted docs.zip to docs 2026-01-31 13:38:43 +01:00
Fade78
7422d3fc15 Created ZIP: docs.zip 2026-01-31 13:38:43 +01:00
Fade78
b522045d18 Extracted docs.zip to docs 2026-01-31 13:38:43 +01:00
Fade78
92d4a0e789 Created ZIP: docs.zip 2026-01-31 13:38:43 +01:00
Fade78
38aa331306 Refactor shed_create_file: wrap in try/except with StorageError 2026-01-31 13:38:43 +01:00
Fade78
1ae28d8f65 Extracted docs.zip to docs 2026-01-31 11:57:19 +01:00
Fade78
bdf198e5c7 Created ZIP: docs.zip 2026-01-31 11:57:19 +01:00
Fade78
553f424fb6 Extracted docs.zip to docs 2026-01-31 11:55:03 +01:00
Fade78
4579927eb3 Created ZIP: docs.zip 2026-01-31 11:55:03 +01:00
Fade78
8930b94780 Extracted docs.zip to docs 2026-01-31 11:54:20 +01:00
Fade78
9212556e47 Created ZIP: docs.zip 2026-01-31 11:54:20 +01:00
Fade78
b131518fa9 Extracted docs.zip to docs 2026-01-31 11:49:17 +01:00
Fade78
83b7511649 Created ZIP: docs.zip 2026-01-31 11:49:17 +01:00
Fade78
31d750579b Extracted docs.zip to docs 2026-01-31 11:38:52 +01:00
Fade78
bcaf45f64d Created ZIP: docs.zip 2026-01-31 11:38:52 +01:00
Fade78
aa097de74d Extracted docs.zip to docs 2026-01-31 11:32:58 +01:00
Fade78
433be466d8 Created ZIP: docs.zip 2026-01-31 11:32:58 +01:00
Fade78
f7f26e40e1 Extracted docs.zip to docs 2026-01-31 11:26:58 +01:00
Fade78
405204f02d Extracted docs.zip to docs 2026-01-31 11:25:13 +01:00
Fade78
de4fa161a7 Add mono-instance concurrency protections (C3-C6)
- C3: FS/DB atomicity with rollback on shed_rename, orphan cleanup in shed_maintenance
- C4: SQLite WAL mode for better concurrent read/write performance
- C5: Git lock (fcntl.flock) for group operations to prevent index corruption
- C6: SQLite retry with exponential backoff (3 retries, 0.1/0.2/0.4s delays)

Also: Change xxd to od in README features (xxd not in container)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-31 09:47:52 +01:00
Fade
0fc7cb3bc2
Merge pull request #5
Security hardening v1.0.3
2026-01-31 00:14:46 +01:00
Fade78
d1ef80cfe1 Fix ChatGPT audit rating: 4.5/5 → 5/5
The ChatGPT 5.2 Instant audit report actually gives ★★★★★ (5/5)
as the final rating, not 4.5/5.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-30 22:39:09 +01:00
Fade78
dc7e29f8de Remove Qwen3 30B and GPT-OSS 20B audit reports
Keep only the two major model audits:
- ChatGPT 5.2 Instant (4.5/5)
- Claude Opus 4.5 Thinking (4/5)

Updated README and release notes.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-30 22:35:53 +01:00
Fade78
e91b6d741f Add overwrite parameter to bridge functions, fix import hint
Bridge functions:
- shed_move_uploads_to_storage: Added overwrite=False parameter
- shed_move_uploads_to_documents: Added overwrite=False parameter
- shed_copy_storage_to_documents: Added overwrite=False parameter
- shed_move_documents_to_storage: Added overwrite=False parameter
- shed_copy_to_group: Added overwrite=False parameter
- FILE_EXISTS errors now hint "Use overwrite=True to replace"

Import hint fix:
- Removed import_all=True from hint (let user choose)

Tests: 1101 tests passing (+10 for bridge overwrite)
Docs: Updated FUNCTION_HELP, README function table

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-30 22:07:18 +01:00
Fade78
106d0d5409 Add shed_create_file hint, fix SQL case-insensitive validation, add security tests
- shed_create_file: Add pedagogical hint explaining it's a wrapper
- SQL security: Convert query to uppercase before pattern matching (fixes case bypass)
- Tests: Add 5 SQL security tests (1087-1091) for case-insensitive validation
- Docs: Fix function count (37→38), add shed_create_file to SPEC.md
- README: Update test badge (1086→1091)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-30 20:01:56 +01:00
Fade78
c07e2bedfc Update docs to recommend shed_create_file for file creation
- README: Updated examples to use shed_create_file instead of
  shed_patch_text(..., overwrite=True)
- HOWTO guides: Updated Quick Reference table
- ASCII banner: Updated file content operations section

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-30 19:40:00 +01:00