Skip to content

Commit 613f87a

Browse files
Integrate security tools into WordPress theme (#5)
Based on wp-sinople-theme integration feedback: - PHP-AEGIS-HANDOVER.md: Recommendations for php-aegis team - RDF/Turtle escaping functions needed - SPDX headers, PHP 8.1+ features - Differentiation from WordPress core - ROADMAP.md: sanctify-php improvement plan - Phase 1: Pre-built binaries and Docker - Phase 2: Semantic web (RDF/Turtle) support - Phase 3: PHP 8.x syntax completeness - Phase 4: WordPress integration docs - Phase 5: php-aegis integration - IMPLEMENTATION-TRACKER.md: Cross-team coordination Co-authored-by: Claude <noreply@anthropic.com>
1 parent 6b31e8b commit 613f87a

3 files changed

Lines changed: 950 additions & 0 deletions

File tree

docs/IMPLEMENTATION-TRACKER.md

Lines changed: 143 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,143 @@
1+
# Implementation Tracker
2+
3+
## Status Overview
4+
5+
| Area | Status | Next Action |
6+
|------|--------|-------------|
7+
| php-aegis Handover | ✅ Complete | Send to php-aegis team |
8+
| sanctify-php Roadmap | ✅ Complete | Begin Phase 1 |
9+
| Binary Releases | 🔲 Not Started | Create CI workflow |
10+
| Docker Container | 🔲 Not Started | Create Dockerfile |
11+
| Semantic Support | 🔲 Not Started | Design AST extensions |
12+
13+
---
14+
15+
## Immediate Actions
16+
17+
### For php-aegis Team
18+
19+
1. **Review handover document**: `docs/PHP-AEGIS-HANDOVER.md`
20+
2. **Priority implementation**:
21+
- `Aegis\Semantic\Turtle::escapeString()`
22+
- `Aegis\Semantic\Turtle::escapeIRI()`
23+
- SPDX headers on all files
24+
25+
### For sanctify-php Team
26+
27+
1. **Phase 1 Priority**: Make tool accessible without Haskell
28+
- [ ] GitHub Actions for binary releases
29+
- [ ] Dockerfile for container distribution
30+
- [ ] Update README with installation options
31+
32+
2. **Phase 2 Priority**: Semantic web support
33+
- [ ] Create `Sanctify.Analysis.Semantic` module
34+
- [ ] Extend taint sinks for Turtle/JSON-LD contexts
35+
- [ ] Add WordPress semantic theme detection
36+
37+
---
38+
39+
## Cross-Team Coordination
40+
41+
### Shared Namespace Agreement
42+
43+
Both tools should recognize these function signatures:
44+
45+
```php
46+
// php-aegis provides these at runtime
47+
Aegis\Semantic\Turtle::escapeString(string $value): string
48+
Aegis\Semantic\Turtle::escapeIRI(string $iri): string
49+
Aegis\Semantic\JsonLd::escapeValue(mixed $value): string
50+
Aegis\IndieWeb\Micropub::sanitizeContent(string $content, array $context = []): string
51+
Aegis\IndieWeb\IndieAuth::verifyToken(string $token, string $endpoint): array|false
52+
```
53+
54+
```haskell
55+
-- sanctify-php recognizes these as safe sinks
56+
aegisSemantic :: [Text]
57+
aegisSemantic =
58+
[ "Aegis\\Semantic\\Turtle::escapeString"
59+
, "Aegis\\Semantic\\Turtle::escapeIRI"
60+
, "Aegis\\Semantic\\JsonLd::escapeValue"
61+
, "Aegis\\IndieWeb\\Micropub::sanitizeContent"
62+
]
63+
```
64+
65+
### Integration Testing
66+
67+
When both tools are updated:
68+
69+
```bash
70+
# 1. Analyze code that uses php-aegis
71+
sanctify-php analyze ./project --aegis-aware
72+
73+
# 2. Verify no false positives for Aegis-escaped output
74+
# 3. Verify Turtle context detection works
75+
# 4. Verify auto-fix inserts correct Aegis calls
76+
```
77+
78+
---
79+
80+
## Issue Templates
81+
82+
### For php-aegis Repository
83+
84+
**Title**: Add semantic web escaping support (RDF/Turtle)
85+
86+
**Body**:
87+
```markdown
88+
## Context
89+
Integration feedback from wp-sinople-theme identified missing RDF/Turtle escaping functions.
90+
91+
## Requirements
92+
- [ ] `Aegis\Semantic\Turtle::escapeString()` - W3C Turtle string escaping
93+
- [ ] `Aegis\Semantic\Turtle::escapeIRI()` - IRI validation and escaping
94+
- [ ] Follow escape rules from https://www.w3.org/TR/turtle/#sec-escapes
95+
96+
## Reference Implementation
97+
See sanctify-php `docs/PHP-AEGIS-HANDOVER.md` for reference code.
98+
99+
## Testing
100+
Should correctly escape:
101+
- Backslashes, quotes, newlines, tabs
102+
- Unicode control characters (U+0000 to U+001F)
103+
- Invalid IRI characters per RFC 3987
104+
```
105+
106+
### For sanctify-php Repository
107+
108+
**Title**: Add pre-built binary releases
109+
110+
**Body**:
111+
```markdown
112+
## Problem
113+
Users need Haskell toolchain to build sanctify-php, preventing adoption.
114+
115+
## Solution
116+
Provide statically-linked binaries via GitHub Releases for:
117+
- linux-x86_64
118+
- linux-aarch64
119+
- darwin-x86_64
120+
- darwin-aarch64
121+
- windows-x86_64
122+
123+
## Implementation
124+
- [ ] GitHub Actions workflow with matrix strategy
125+
- [ ] Static linking flags
126+
- [ ] GPG signing
127+
- [ ] Release automation
128+
129+
## Reference
130+
See `docs/ROADMAP.md` Phase 1 for details.
131+
```
132+
133+
---
134+
135+
## Communication Channels
136+
137+
- **sanctify-php issues**: https://github.com/hyperpolymath/sanctify-php/issues
138+
- **php-aegis issues**: https://github.com/hyperpolymath/php-aegis/issues
139+
140+
---
141+
142+
*SPDX-License-Identifier: MIT OR AGPL-3.0-or-later*
143+
*SPDX-FileCopyrightText: 2024-2025 hyperpolymath*

0 commit comments

Comments
 (0)