-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy path.locked-paths
More file actions
194 lines (169 loc) · 11.4 KB
/
Copy path.locked-paths
File metadata and controls
194 lines (169 loc) · 11.4 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
# Heratio locked paths — enforced by bin/check-locked + hooks/pre-commit.
#
# Any file under these prefixes refuses to commit, push, or release until
# explicitly unlocked with `./bin/unlock <path>`. The unlock is one-shot
# and is cleared automatically after `./bin/release` succeeds.
#
# Lines starting with # are comments. Blank lines are ignored.
# A trailing slash means "everything under this directory, recursively".
# Without a trailing slash, the entry matches an exact file.
#
# Lock established 2026-05-05 to fully protect the archival-record show
# page (/{slug}) and every link target reachable from it. See
# memory/feedback_lock_io_show_tree.md for the rationale.
# Information-object show page + all its handlers
packages/ahg-information-object-manage/
# Action-bar / dropdown link targets reachable from the IO show page
packages/ahg-condition/
packages/ahg-spectrum/
packages/ahg-heritage-manage/
packages/ahg-preservation/
# AI Tools menu (Describe / NER / Summary / Translate / Animate / NER Review)
packages/ahg-ai-services/
# Research Tools menu (Source Assessment / Annotation / Trust / Dashboard)
packages/ahg-research/
# RiC menu (Graph Explorer / JSON-LD Export / Timeline)
packages/ahg-ric/
# Import / Export / Reports / Browse / Marketplace / Rights link targets
packages/ahg-ingest/
packages/ahg-export/
packages/ahg-reports/
packages/ahg-display/
packages/ahg-marketplace/
packages/ahg-rights/
packages/ahg-extended-rights/
# Sector-specific show pages (DAM/Library/Museum/Gallery) — same protection
# as the archival-record show page above. The DAM show is now stable end-to-
# end (Move / rights / digital-object delete URLs corrected, finding-aid flash
# survives the IO→DAM redirect, full Mirador 4 + image-tools + dl-plugin
# wired in, OSD 6.0.2 + filtering toolbar wired in). Lock added 2026-05-05.
packages/ahg-dam/
packages/ahg-library/
packages/ahg-museum/
packages/ahg-gallery/
# IIIF viewer page reachable from every sector show
packages/ahg-iiif-collection/
# Translation modal + side-by-side partials reachable from every show page
packages/ahg-translation/
# Canonical OpenSeadragon 6.0.2 install + filtering plugin + button assets.
# Replaced two-copy 3.1.0 / 4.1.0 setup; all sector shows + redaction page
# point here.
public/vendor/openseadragon/
# Mirador 4 bundle (image-tools + dl-plugin), viewer.html, compare.html.
# Built from tools/mirador-build/ — keep both in lockstep.
public/vendor/ahg-theme-b5/js/vendor/mirador/
# Standalone OSD/Mirador/Carousel toggle JS — embeds the filtering toolbar
# and is loaded by every viewer-bearing show page.
public/vendor/ahg-theme-b5/js/ahg-iiif-viewer.js
# Mirador bundle source (the build that produces the file above)
tools/mirador-build/
# Additional link targets reachable from the library show page (and most of
# them from the archival-record show too — extending coverage that was missed
# in the original IO lock). Added 2026-05-05 after the library show stabilised
# (creators / subjects / item physical location / RiC entities / item physical
# location render). Each package owns routes referenced from library/show.blade.php
# and library/edit.blade.php:
packages/ahg-cart/ # cart.add / cart.browse
packages/ahg-favorites/ # favorites.add / favorites.remove
packages/ahg-feedback/ # feedback.submit
packages/ahg-loan/ # loan.create / loan.index / loan.show
packages/ahg-storage-manage/ # physicalobject.show / physicalobject.link-to
packages/ahg-repository-manage/ # repository.show
packages/ahg-term-taxonomy/ # term.show
# Full GLAM/DAM lock-down (added 2026-05-05). The four sector show pages
# (DAM / Library / Museum / Gallery) plus the IO show page reach into
# these via @include partials and named-route links. Lock them in
# lockstep so a casual edit in any of these packages can't drift the
# show pages out from under us:
packages/ahg-accession-manage/ # accession.* routes (linked from IO show
# 'Create from accession' flow + new
# create-IO-from-accession round-trip)
packages/ahg-actor-manage/ # actor.autocomplete used by IO + rights
# forms; actor.show linked from Creators /
# Repository / Rights Holder
packages/ahg-menu-manage/ # _static-pages-menu partial @included in
# every sector show's left sidebar
# Per-issue locks added after a fix-and-close to prevent silent drift on
# the wired-up consumer code. Pattern: closing an audit-batch issue (#67-)
# locks the package(s) the wire-up touched. Unlock individually for the
# next iteration.
packages/ahg-oai/ # #87 (OAI-PMH 7-setting wire-up) - closed v1.52.36
packages/ahg-core/src/Controllers/VoiceController.php # #94 (voice settings endpoint) - closed v1.52.36
packages/ahg-core/src/Controllers/TtsController.php # #92 (TTS default_voice + default_pitch) - closed in upcoming release
packages/ahg-portable-export/ # #88 (portable export 10-setting wire-up) - closed in upcoming release
packages/ahg-core/resources/views/_action-icons.blade.php # #88 (portable export description-button gate) - closed in upcoming release
packages/ahg-core/resources/views/clipboard/index.blade.php # #88 (portable export clipboard-button gate) - closed in upcoming release
packages/ahg-core/src/Services/SectorIdentifierService.php # #89 (sector numbering shared service) - closed in upcoming release
app/Auth/SecuritySettings.php # #90 (security settings 10-key reader) - closed in upcoming release
app/Http/Middleware/SessionTimeout.php # #90 (session lifetime override) - closed in upcoming release
app/Console/Commands/AuthGcAttemptsCommand.php # #90 (login_attempt cleanup scheduled command) - closed in upcoming release
app/Console/Commands/AuthWarnPasswordExpiryCommand.php # #90 (password-expiry warn email) - closed in upcoming release
app/Support/IiifSettings.php # #81 (IIIF settings 9-key reader) - closed in upcoming release
packages/ahg-core/src/Controllers/IiifController.php # #81 (IIIF settings JSON endpoint) - closed in upcoming release
# Folder upload on the addDigitalObject page (per user request 2026-05-06).
# Three files modified together for the new bulk_mirror_tree feature; lock
# the trio so any drift goes through the unlock workflow.
packages/ahg-information-object-manage/resources/views/add-digital-object.blade.php # bulk upload UI: webkitdirectory + drag-drop folder + mirror-tree toggle
packages/ahg-information-object-manage/src/Controllers/DigitalObjectController.php # bulkUpload() handler
packages/ahg-information-object-manage/routes/web.php # POST /{slug}/object/addDigitalObject/bulk route
# Portable Export bundler-worker (#88 option b - the full build).
# Three pieces locked as a unit: the worker command (does the actual
# bundling), the controller (apiStart now stashes scope_items + dispatches
# the worker; entity_types collapsed into the same JSON column), and the
# service provider (registers + schedules the daily safety-net sweep).
packages/ahg-portable-export/src/Console/Commands/BundleWorkerCommand.php # #88 worker: dump entities, copy assets, build viewer, zip
packages/ahg-portable-export/src/Controllers/PortableExportController.php # #88 apiStart entity_types -> scope_items + Artisan::queue dispatch
packages/ahg-portable-export/src/Providers/AhgPortableExportServiceProvider.php # #88 command registration + daily schedule
# #89 phase 2 - sector identifier auto-generation in the four sector
# services + the form-side bootstrap fix in SettingsController. Lock the
# five files together so any drift in the auto-id wiring goes through
# the unlock workflow.
packages/ahg-museum/src/Services/MuseumService.php # #89 phase 2: museum sector wire-up
packages/ahg-gallery/src/Services/GalleryService.php # #89 phase 2: gallery sector wire-up
packages/ahg-dam/src/Services/DamService.php # #89 phase 2: dam sector wire-up
packages/ahg-library/src/Services/LibraryService.php # #89 phase 2: library sector wire-up
packages/ahg-settings/src/Controllers/SettingsController.php # #89 form-side bootstrap fix in sectorNumbering()
# #89 final pass - Accession + Repository + Actor + RiC Record wire-ups
# (the targets the issue named explicitly that I'd silently dropped from
# the first close, plus the RiC primary-entity create path that bypasses
# IO::create). Lock as a unit for the same reason as the other sector
# services.
packages/ahg-accession-manage/src/Services/AccessionService.php # #89 final pass: accession auto-id via global mask
packages/ahg-actor-manage/src/Services/ActorService.php # #89 final pass: actor description_identifier auto-id (forced fit)
packages/ahg-repository-manage/src/Services/RepositoryService.php # #89 final pass: repository auto-id via global mask
packages/ahg-ric/src/Services/RicEntityService.php # #89 final pass: RiC Record auto-id via global mask
# #100 IIIF Web Annotations: persistence backend + Mirador-annotation-editor
# bundle. The HTTP API + adapter contract has to round-trip W3C Web
# Annotation JSON-LD between the bundled JS and the PHP store, so any
# drift in either side breaks the loop. Lock the package + the bundle
# changes together. (mirador.min.js, ahg-iiif-viewer.js, tools/mirador-
# build/ are already locked above by their own rules.)
packages/ahg-annotations/ # #100 W3C Web Annotation REST API (Annotot-shaped) + ahg_iiif_annotation table
# #103 Plyr / Video.js media-player bundles. The build script + deployed
# vendor assets work as a unit (master.blade.php loads the dist files
# from public/vendor/{plyr,videojs}/). Lock the build source + both
# deployed bundles together so any drift goes through the unlock flow.
tools/plyr-build/ # #103 build source (npm install + copy)
public/vendor/plyr/ # #103 Plyr 3 dist (plyr.min.js + plyr.css + plyr.svg)
public/vendor/videojs/ # #103 Video.js 8 dist (video.min.js + video-js.min.css)
# #101 WaveSurfer.js media-show-waveform bundle. The build script + the
# deployed dist work as a unit (master.blade.php loads the dist file
# from public/vendor/wavesurfer/ when media_show_waveform=true). Lock
# the source + output together.
tools/wavesurfer-build/ # #101 build source (npm install + copy)
public/vendor/wavesurfer/ # #101 WaveSurfer 7 dist (wavesurfer.min.js)
# #98 default_template wiring + DACS/RAD/MODS show templates. Sidecar
# tables (ahg_io_dacs / ahg_io_rad / ahg_io_mods) hold the per-standard
# fields; element_visibility flags gate sections. The visibility-form
# blade is the operator's only way to flip the flags, so drift there
# would silently break the standard-template show pages.
packages/ahg-settings/resources/views/visible-elements.blade.php # #98 mods_headings block + future DACS/RAD wiring
# F3 SharePoint Federated Search peer connectors. Local-only per the
# SharePoint NO-PUSH policy — never commits, never releases. See
# /opt/ahg-sp-integration/F3/ for the canonical source of truth and
# memory/f3_federation_sharepoint_local.md for the rationale.
# (Inline comments are NOT stripped from entries — keep these clean.)
packages/ahg-federation/src/Connectors/
packages/ahg-federation/src/Services/FederatedSearchService.php
packages/ahg-federation/src/Controllers/FederationController.php
packages/ahg-federation/resources/views/edit-peer.blade.php