Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
126 commits
Select commit Hold shift + click to select a range
f4ef2b7
Create page context review
riccio82 Mar 16, 2026
8d6da13
Context review page
riccio82 Mar 16, 2026
bc2728d
Context review page
riccio82 Mar 16, 2026
c47ad51
Context review page
riccio82 Mar 16, 2026
c2f0baa
Context review page
riccio82 Mar 16, 2026
ed6cb87
Context review page
riccio82 Mar 17, 2026
fce22b2
Context review page
riccio82 Mar 17, 2026
e6c0605
Context review page
riccio82 Mar 18, 2026
ae5b5c8
Merge remote-tracking branch 'origin/develop' into context-review
riccio82 Mar 19, 2026
25e0b66
Create page context review
riccio82 Mar 19, 2026
2518710
Create page context review
riccio82 Mar 20, 2026
c3cd568
Merge remote-tracking branch 'origin/develop' into context-review
riccio82 Mar 24, 2026
2b99659
Update context page
riccio82 Mar 24, 2026
2de7471
Update context page
riccio82 Mar 24, 2026
745b3d2
Merge branch 'develop' into context-review
Ostico Mar 25, 2026
744879c
Merge branch 'develop' into context-review
Ostico Mar 25, 2026
7860617
✨ feat: centralize segment metadata pipeline with marshaller, mapper,…
Ostico Mar 25, 2026
bd6b45a
♻️ refactor: typed segment metadata pipeline — static unmarshall, DAO…
Ostico Mar 26, 2026
be6901d
Merge branch 'context-review' of github.com:matecat/MateCat into cont…
Ostico Mar 26, 2026
140553c
✨ feat(segments): add resname/restype context mapping with ContextRes…
Ostico Mar 26, 2026
caf7677
✨ feat(api): serve typed segment metadata in GetSegments response
Ostico Mar 26, 2026
e0a8e3c
🐛 fix(api): harden project metadata JSON validation in NewController
Ostico Mar 26, 2026
d96371b
📝 docs: fix XLIFF 2.0 namespace compliance and update feature spec co…
Ostico Mar 26, 2026
c6b6dd7
📝 docs(spec): add context-url pipeline architecture and to-do list
Ostico Mar 26, 2026
5217cc3
♻️ refactor(segments): rename unmarshall to unMarshall for PSR-1 came…
Ostico Mar 26, 2026
ba1c3d1
✨ feat(files): add FilesMetadataMarshaller enum with TDD (16 tests)
Ostico Mar 26, 2026
0b860f0
♻️ refactor(files): wire unMarshall into MetadataDao and type Metadat…
Ostico Mar 26, 2026
b8503df
✨ feat(metadata): add CONTEXT_URL case to segment and project marshal…
Ostico Mar 26, 2026
3bd8a4a
Merge branch 'develop' into context-review
Ostico Mar 26, 2026
5a3b897
📝 docs(cache): add cache management architecture analysis document
Ostico Mar 27, 2026
084e114
✨ feat(context-review): add context-url API endpoints, ContextUrlReso…
Ostico Mar 27, 2026
21e875b
Merge branch 'context-review' of github.com:matecat/MateCat into cont…
Ostico Mar 27, 2026
6e975a5
📝 docs(spec): fix context-url route prefix from /api/app/ to /api/v3/
Ostico Mar 27, 2026
26f1096
📝 docs(cache): name pattern as Read-through with XFetch and add §7 fo…
Ostico Mar 27, 2026
a08c711
feat(cache): add XFetchEnvelope value object, XFetch constants, and p…
Ostico Mar 27, 2026
5a441d5
feat(cache): implement _shouldRecompute() XFetch algorithm in DaoCach…
Ostico Mar 27, 2026
c98188d
feat(cache): wrap cache values in XFetchEnvelope in _setInCacheMap()
Ostico Mar 27, 2026
ee7fe22
feat(cache): simplify _getFromCacheMap() with instanceof XFetchEnvelo…
Ostico Mar 27, 2026
e7a4910
feat(cache): measure recomputation time (δ) in AbstractDao::_fetchObj…
Ostico Mar 27, 2026
d007518
feat(cache): exclude SessionTokenStoreHandler from XFetch via $xfetch…
Ostico Mar 27, 2026
f794ccc
chore(cache): reduce SegmentMetadataDao default TTL from 7 days to 1 day
Ostico Mar 27, 2026
16b3291
test(cache): update CacheSystemThroughConcreteClassesTest assertions …
Ostico Mar 27, 2026
bb6db72
refactor(cache): simplify _shouldRecompute() formula to single expres…
Ostico Mar 27, 2026
62b84c8
📝 docs(cache): rebrand as 'Read-through with XFetch Early Recomputati…
Ostico Mar 27, 2026
441409c
feat(context-review): multi-SID DOM attribute (data-context-sids) for…
riccio82 Mar 30, 2026
b7a0693
fix(context-review): address code review — cache SIDs, restore descen…
riccio82 Mar 30, 2026
d30e739
feat(context-review): buildSegmentNodeMap — in-memory N:N lookup map
riccio82 Mar 30, 2026
8b7a362
fix(context-review): address code review — improve test accuracy and …
riccio82 Mar 30, 2026
050538b
feat(context-review): findSegmentSidsByClick — returns all SIDs for a…
riccio82 Mar 30, 2026
88188bf
feat(context-review): findSegmentSidsByClick — returns all SIDs for a…
riccio82 Mar 30, 2026
88ec248
feat(context-review): updateNodeTranslation — safe multi-segment tran…
riccio82 Mar 30, 2026
9192d69
feat(context-review): updateNodeTranslation helper with mismatch dete…
riccio82 Mar 30, 2026
380bf5d
refactor(context-review): two-mode highlight state shape (segment/node)
riccio82 Mar 30, 2026
58482c9
fix(context-review): move DOM side-effect out of setHighlight functio…
riccio82 Mar 30, 2026
8378a68
feat(context-review): HTML node click navigates through associated se…
riccio82 Mar 30, 2026
0fc9c3f
fix(context-review): add applyHighlightsForNode to click handler useE…
riccio82 Mar 30, 2026
a0ef041
feat(context-review): updateTranslation uses N:N map with inline mism…
riccio82 Mar 30, 2026
14f493f
refactor(context-review): tagSegments delegates to updateNodeTranslat…
riccio82 Mar 30, 2026
3cce149
fix(context-review): remove unused normTarget computation from tagSeg…
riccio82 Mar 30, 2026
d12bd1d
Merge remote-tracking branch 'origin/develop' into context-review
riccio82 Mar 31, 2026
667ca21
Fix svg
riccio82 Mar 31, 2026
3882a7b
fix: getProjects error
riccio82 Mar 31, 2026
056b741
🐛 fix(context-review): prevent duplicate SIDs on incremental tagSegme…
riccio82 Mar 31, 2026
c472f52
🐛 fix(context-review): fix N:N mapping, SID coercion, and node-mode h…
riccio82 Mar 31, 2026
c02390c
🐛 fix(context-review): coerce string SIDs in handleMessage highlight …
riccio82 Mar 31, 2026
1684982
🔧 chore(context-review): remove dead findSegmentSidByClick function a…
riccio82 Mar 31, 2026
4e0642f
Remove unused files
riccio82 Mar 31, 2026
946d2de
refactor(context-review): extract hooks from ContextReview.js monolith
riccio82 Mar 31, 2026
fa4db40
feat(context-review): add extractSegmentContextFields utility
riccio82 Mar 31, 2026
8c45df5
feat(context-review): include resname/restype/context_url in segments…
riccio82 Mar 31, 2026
7929935
feat(context-review): include resname/restype/context_url in segments…
riccio82 Mar 31, 2026
9040f18
docs(context-review): update contextReviewChannel JSDoc for extended …
riccio82 Mar 31, 2026
4299d0d
feat(context-review): include metadata in highlight channel message
riccio82 Mar 31, 2026
6e81adb
Merge remote-tracking branch 'origin/develop' into context-review
riccio82 Mar 31, 2026
021a027
feat(context-review): add contextReviewLookup — 5-strategy DOM dispat…
riccio82 Mar 31, 2026
650a5be
feat(context-review): add strategy-first pass to tagSegments using co…
riccio82 Mar 31, 2026
32e3a96
📝 docs(spec): add table of contents and remove stale root-level dupli…
Ostico Apr 3, 2026
14ece31
Merge branch 'context-review' of github.com:matecat/MateCat into cont…
Ostico Apr 3, 2026
580839e
📝 docs(spec): add algorithm factory requirements and fix doc inconsis…
Ostico Apr 3, 2026
4d17c13
Merge branch 'develop' into context-review
Ostico Apr 3, 2026
e0424f0
📝 docs(spec): update §7.3, §10.3, §10.8 to reflect Federico's fronten…
Ostico Apr 3, 2026
918eb13
feat(metadata): add X_CLIENT_NAME to SegmentMetadataMarshaller
Ostico Apr 3, 2026
1c96528
refactor(test): reorganize context-mapping test files into in-context…
Ostico Apr 3, 2026
ece71f9
📝 docs(spec): update §11.3 and add §11.13 for in-context-review test …
Ostico Apr 3, 2026
953e0d0
test(context-review): add XliffToMetadata integration test and XPath …
Ostico Apr 3, 2026
bf002f7
chore(test): extract valuable scenarios from old_tests/ into referenc…
Ostico Apr 7, 2026
004ff81
docs(review): add codebase review, actionable remediation items, and …
Ostico Apr 7, 2026
abb50aa
🐛 fix(security): replace escape() with parameterized queries in Searc…
Ostico Apr 7, 2026
d4ea1e1
🐛 fix(database): return ON DUPLICATE KEY bind values from buildInsert…
Ostico Apr 7, 2026
eab50fa
Fix
mauretto78 Mar 26, 2026
4270f68
Context review wip
riccio82 Apr 3, 2026
04f5357
Context-review: improve x-path
riccio82 Apr 7, 2026
c4d2788
Merge remote-tracking branch 'origin/develop' into context-review
riccio82 Apr 7, 2026
74f417f
🔧 refactor(controllers): replace superglobals with framework abstract…
Ostico Apr 7, 2026
0f35b6a
🔧 refactor(controllers): replace $_POST/$_GET/$_REQUEST/$_SERVER supe…
Ostico Apr 7, 2026
3bee4f7
🔧 refactor(controllers): decompose translate() god method, extract $d…
Ostico Apr 7, 2026
9c4937b
🔧 refactor(types): fix PHPStan level 8 errors in FeatureSet, BasicFea…
Ostico Apr 7, 2026
6c97163
Merge branch 'context-review' of github.com:matecat/MateCat into cont…
Ostico Apr 7, 2026
eda3caa
🔧 refactor(hooks): fix 5 FeatureSet hook inconsistencies, document na…
Ostico Apr 8, 2026
5d16cb9
🔧 refactor(hooks): remove 20 unused FeatureSet hooks, rename 5 snake_…
Ostico Apr 8, 2026
5bfab4d
✨ feat(hooks): implement typed Event DTO dispatch for all 44 FeatureS…
Ostico Apr 8, 2026
2b443cd
🐛 fix(phpstan): resolve PHPStan level 8 errors in Airbnb and Translat…
Ostico Apr 8, 2026
ede0c13
🔥 refactor(hooks): remove filter()/run() from FeatureSet, implement t…
Ostico Apr 9, 2026
999f74a
📝 docs: document filter()/run() removal + subfiltering v4.0/v2.4 upgrade
Ostico Apr 9, 2026
3fe9846
Updated dependencies
Ostico Apr 10, 2026
bfa20cb
✨ feat(context-review): add screenshot view with zoom support
riccio82 Apr 10, 2026
f7aa244
📝 docs: add memory-first protocol rules via signet-first plugin
Ostico Apr 11, 2026
ffbc5de
chore(deps): update translated plugin submodule
riccio82 Apr 13, 2026
40150fd
♻️ refactor(context-review): rename frontend to context-preview
riccio82 Apr 14, 2026
b0d4530
fix(context-preview): fix stale closure, add HTML cache, fix URL cycl…
riccio82 Apr 15, 2026
d5254a2
feat(context-preview): segment-aware highlight, tier1 exclusion rule,…
riccio82 Apr 15, 2026
2abf170
fix(context-preview): keep panel open when segment click originates f…
riccio82 Apr 15, 2026
efbfd22
fix(context-preview): protect tier1 nodes on incremental tagSegments …
riccio82 Apr 15, 2026
5692106
context-preview: add shortcut to open panel
riccio82 Apr 17, 2026
df32701
Merge remote-tracking branch 'origin/develop' into context-review
riccio82 Apr 21, 2026
39f6234
update composer
riccio82 Apr 21, 2026
d283437
Merge branch 'context-review' of github.com:matecat/MateCat into cont…
Ostico Apr 21, 2026
ebd8fc3
🐛 fix(context-preview): respond to click-based segment navigation
riccio82 Apr 21, 2026
0cecdd8
✨ feat(context-preview): collapsed tab with slide-up animation
riccio82 Apr 21, 2026
0ecb971
🐛 fix(context-preview): prevent horizontal drift on tab close animation
riccio82 Apr 21, 2026
dbe7aca
Merge branch 'develop' into context-review
riccio82 Apr 28, 2026
a4fb5ed
Merge branch 'develop' into context-review
Ostico Apr 29, 2026
31b8207
Merge branch 'context-review' of github.com:matecat/MateCat into cont…
Ostico Apr 29, 2026
57b2cd8
✅ test(segment): adapt Segment.test.js to function component refactor
riccio82 Apr 29, 2026
27fdc07
🐛 fix(js): address copilot review on useResizable and SegmentsContainer
riccio82 Apr 29, 2026
066a420
fix(GetWarningController): fix SegmentMetadataDao::get() indexing and…
Copilot Apr 29, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
5 changes: 4 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,10 @@ nbproject/
webgrind/
_dic_cache
.phpunit.result.cache
/docs
/docs/*
!/docs/*.md
!/docs/*.png
!/docs/reviews/

# Configuration files
.num_processes
Expand Down
50 changes: 50 additions & 0 deletions CLAUDE.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,50 @@
# Memory-First Protocol
<!-- signet-first-version: 1.2.0 -->

These rules enforce memory-aware behavior for AI coding agents.
If `signet_memory_search` is available, use Signet as the primary memory system.
Otherwise, use your native memory capabilities (MEMORY.md, auto memory, etc.).
The principles below apply regardless of which memory backend is available.

## 1. Search Memory Before Acting

- ALWAYS search memory BEFORE reading files, firing agents, or running commands.
- This includes session start: search for recent session summaries to orient before touching files.
- **Certainty is the trigger, not doubt.** If you think "I already know this," that is EXACTLY when you must search.
- Preferred: `signet_memory_search(query, type, limit)` when available.
- Fallback: read MEMORY.md or use native recall.

## 2. Pre-Action Gate

- Before running ANY build, test, lint, deploy, or project-specific command, search memory for the verified procedure.
- Use the stored version exactly. Do not add/remove flags from recall.
- If not found in memory, check project files (Makefile, package.json, CI config). If still not found, ask the user.
- NEVER skip to execution because you "remember" the command.

## 3. Fallback Warning

When memory search returns insufficient results and you fall back to reading files, inform the user:

```
MEMORY FALLBACK: Memory returned insufficient results for "<query>".
Falling back to project files. Consider storing the result for future sessions.
```

This keeps the user aware of memory gaps so they can be filled over time.

## 4. Store Conclusions

- After any investigation, analysis, decision, debugging finding, or discovery, store the conclusion in memory.
- Store synthesized conclusions, NOT raw data or transcripts.
- Preferred: `signet_memory_store(content, type, tags, importance)` when available.
- Fallback: use your native memory system.
- Always check for duplicates before storing. Update existing entries rather than creating contradictions.

## 5. Session Lifecycle

- **Start**: Search memory for session summaries and recent context before touching files.
- **End**: Store a summary of what was accomplished, decisions made, and unfinished work.

---
<!-- Do not edit above this line -- managed by signet-first plugin -->
<!-- Add your project-specific rules below -->
2 changes: 1 addition & 1 deletion INSTALL/matecat.sql
Original file line number Diff line number Diff line change
Expand Up @@ -1126,7 +1126,7 @@ CREATE TABLE `segment_metadata` (
`id_segment` bigint(20) NOT NULL,
`meta_key` varchar(45) NOT NULL,
`meta_value` varchar(255) NOT NULL,
KEY `idx_id_segment_meta_key` (`id_segment`,`meta_key`)
UNIQUE KEY `idx_id_segment_meta_key` (`id_segment`,`meta_key`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
/*!40101 SET character_set_client = @saved_cs_client */;

Expand Down
6 changes: 3 additions & 3 deletions composer.json
Original file line number Diff line number Diff line change
Expand Up @@ -10,14 +10,15 @@
"defuse/php-encryption": "^2.4",
"elasticsearch/elasticsearch": "8.*",
"google/apiclient": "^2",
"google-gemini-php/client": "^2.7",
"league/oauth2-facebook": "^2.2",
"league/oauth2-github": "^3.1",
"league/oauth2-linkedin": "^5.1",
"matecat/cwh": "^3.1",
"matecat/klein": "^3.2",
"matecat/lara-php": "^v2.0.0-beta.1",
"matecat/simple-s3": "^v2.0.0",
"matecat/subfiltering": "~v3.0",
"matecat/subfiltering": "~v4.0",
"matecat/whole-text-finder": "^2.0",
"matecat/xliff-parser": "~v3.0",
"matecat/icu-intl": "^v1",
Expand Down Expand Up @@ -49,8 +50,7 @@
"ext-openssl": "*",
"ext-simplexml": "*",
"ext-intl": "*",
"ext-redis": "*",
"google-gemini-php/client": "^2.7"
"ext-redis": "*"
},
"config": {
"use-include-path": true,
Expand Down
Loading
Loading