diff --git a/app/Http/Controllers/InvestmentComplementController.php b/app/Http/Controllers/InvestmentComplementController.php
new file mode 100644
index 00000000..3e4ceb1a
--- /dev/null
+++ b/app/Http/Controllers/InvestmentComplementController.php
@@ -0,0 +1,27 @@
+validate(['origin' => [\Illuminate\Validation\Rule::requiredIf(!$request->has('contexts')), 'nullable', 'string', 'max:100'], 'territory_id' => 'nullable|uuid',
+ 'contexts' => 'sometimes|array|max:100', 'contexts.*' => 'array:origin,territory_id', 'contexts.*.origin' => 'required|string|max:100', 'contexts.*.territory_id' => 'nullable|uuid']);
+ $items = [];
+ $issues = [];
+ foreach ($data['contexts'] ?? [['origin' => $data['origin'], 'territory_id' => $data['territory_id'] ?? null]] as $context) {
+ try {
+ $items = [...$items, ...$service->options($context['origin'], $context['territory_id'] ?? null)];
+ } catch (\Illuminate\Database\Eloquent\ModelNotFoundException|\Symfony\Component\HttpKernel\Exception\HttpException $e) {
+ $status = $e instanceof \Symfony\Component\HttpKernel\Exception\HttpException ? $e->getStatusCode() : 404;
+ if (!isset($data['contexts']) || $status !== 404) throw $e;
+ $issues[] = ['origin' => $context['origin'], 'message' => 'Uma referência escolhida deixou de estar disponível para consulta pública. A relação guardada conserva-se no dossier; os outros complementos continuam disponíveis.'];
+ }
+ }
+ return response()->json(isset($data['contexts']) ? ['items' => $items, 'issues' => $issues] : $items)->header('Cache-Control', 'private, no-store');
+ }
+}
diff --git a/app/Http/Controllers/InvestmentDiscoveryController.php b/app/Http/Controllers/InvestmentDiscoveryController.php
index 86cec5e0..9c7f3a4d 100644
--- a/app/Http/Controllers/InvestmentDiscoveryController.php
+++ b/app/Http/Controllers/InvestmentDiscoveryController.php
@@ -107,7 +107,7 @@ class InvestmentDiscoveryController extends Controller
$returnFilters = $request->query();
unset($returnFilters['zone_id'], $returnFilters['from_dossier']);
- return Inertia::render('investment/detail', ['record' => $record, 'context' => $catalogue->context($record->id), 'zone_origin' => $origin,
+ return Inertia::render('investment/detail', ['complements' => app(\App\Services\InvestmentComplements::class)->options('opportunity:'.$record->id), 'record' => $record, 'context' => $catalogue->context($record->id), 'zone_origin' => $origin,
'guides' => app(\App\Services\SectorInvestment::class)->guides($record->sector),
'dossierOrigin' => $dossierOrigin ? ['id' => $dossierOrigin->id, 'title' => $dossierOrigin->title] : null,
'returnUrl' => $returnFilters === [] ? '/oportunidades' : '/oportunidades?'.http_build_query($returnFilters)]);
diff --git a/app/Http/Controllers/InvestmentPortfolioController.php b/app/Http/Controllers/InvestmentPortfolioController.php
index 985525f7..178b959f 100644
--- a/app/Http/Controllers/InvestmentPortfolioController.php
+++ b/app/Http/Controllers/InvestmentPortfolioController.php
@@ -131,7 +131,7 @@ class InvestmentPortfolioController extends Controller
->orderByDesc('updated_at')->limit(10)->get(['id', 'version', 'updated_at'])
: collect();
- return Inertia::render('portfolio/show', ['record' => $record, 'related' => $related, 'management' => $management, 'zones' => $zones,
+ return Inertia::render('portfolio/show', ['complements' => $management ? [] : app(\App\Services\InvestmentComplements::class)->options('portfolio:'.$record->id), 'record' => $record, 'related' => $related, 'management' => $management, 'zones' => $zones,
'anchorProject' => $anchorProject, 'existingSubmissions' => $existingSubmissions,
'geography' => app(InvestmentRelations::class)->dossier($record, $management),
'origin' => $origin ? ['id' => $origin->id, 'title' => $origin->title] : null, 'opportunities' => $opportunities, 'chains' => $chains]);
diff --git a/app/Http/Controllers/InvestorContextController.php b/app/Http/Controllers/InvestorContextController.php
index 12b289d1..a92b4f6a 100644
--- a/app/Http/Controllers/InvestorContextController.php
+++ b/app/Http/Controllers/InvestorContextController.php
@@ -11,6 +11,15 @@ use Inertia\Inertia;
final class InvestorContextController extends Controller
{
+ private function entryComplements(Request $request): array
+ {
+ $data = $request->validate(['complement_origin' => 'nullable|string|max:100', 'complement_code' => 'required_with:complement_origin|string|max:40',
+ 'complement_target' => 'nullable|string|max:100', 'complement_territory' => 'nullable|uuid']);
+ if (empty($data['complement_origin'])) return [];
+ return app(\App\Services\InvestmentComplements::class)->resolve([['origin' => $data['complement_origin'], 'code' => $data['complement_code'],
+ 'target' => $data['complement_target'] ?? null, 'territory_id' => $data['complement_territory'] ?? null]]);
+ }
+
private function entryChoices(Request $r, InvestorContext $context): array
{
$data = $r->validate(['source' => 'nullable|string|max:100', 'from_dossier' => 'nullable|uuid', 'opportunities' => 'sometimes|array|max:100', 'opportunities.*' => 'integer|distinct|min:1',
@@ -21,6 +30,14 @@ final class InvestorContextController extends Controller
$path = app(InvestmentGeography::class)->selection($data);
$input = array_map(fn($id) => ['source' => 'opportunity:'.$id, ...($path ? ['territory' => 'territory:'.$path[array_key_last($path)]->id] : [])], $ids);
if (!empty($data['from_dossier'])) $input[0]['portfolio_origins'] = [$data['from_dossier']];
+ foreach ($this->entryComplements($r) as $complement) {
+ $keys = array_filter([$complement['origin']['key'], $complement['target']['key'] ?? null], fn($key) => str_starts_with($key, 'opportunity:'));
+ foreach ($keys as $key) {
+ if (in_array($key, array_column($input, 'source'), true)) continue;
+ $input[] = ['source' => $key, ...($complement['territory_id'] ? ['territory' => 'territory:'.$complement['territory_id']] : []),
+ ...(str_starts_with($complement['origin']['key'], 'portfolio:') ? ['portfolio_origins' => [substr($complement['origin']['key'], 10)]] : [])];
+ }
+ }
return app(\App\Services\InvestmentOpportunityChoices::class)->resolve($input, [], true);
}
@@ -84,7 +101,13 @@ final class InvestorContextController extends Controller
$kept = collect($choices ?? [])->firstWhere('opportunity.key', $entry['opportunity']['key']);
if ($kept && ($kept['territory']['key'] ?? null) !== ($entry['territory']['key'] ?? null)) $differences[] = ['title'=>$entry['opportunity']['title'],'saved'=>$kept['territory']['title']??'Por definir','requested'=>$entry['territory']['title']??'Por definir'];
}
- return Inertia::render('investor-path/context', ['entryLocationDifferences'=>$differences,'entrySources'=>$entrySources,'draft' => $draft, 'requestedChoices' => $choices, 'initial' => $data, 'options' => $context->options(), 'source' => $source, 'territorySelection' => isset($data['context']['selection']['territory']) ? app(InvestmentGeography::class)->path($data['context']['selection']['territory']['id']) : []]);
+ $complements = isset($draft['complements']) ? app(\App\Services\InvestmentComplements::class)->resolve($draft['complements'], $data['context']['complements'] ?? []) : ($data['context']['complements'] ?? []);
+ foreach ($this->entryComplements($r) as $entry) {
+ $tag = 'complement:'.hash('sha256', $entry['key'].'@'.($selectionKey ?? ''));
+ $entrySources[] = $tag;
+ if (!in_array($tag, $draft['entry_sources'] ?? [], true)) $complements = collect([...$complements, $entry])->unique('key')->values()->all();
+ }
+ return Inertia::render('investor-path/context', ['entryComplements' => $complements, 'entryLocationDifferences'=>$differences,'entrySources'=>$entrySources,'draft' => $draft, 'requestedChoices' => $choices, 'initial' => $data, 'options' => $context->options(), 'source' => $source, 'territorySelection' => isset($data['context']['selection']['territory']) ? app(InvestmentGeography::class)->path($data['context']['selection']['territory']['id']) : []]);
}
public function preview(Request $r, string $id, InvestorContext $context)
@@ -103,7 +126,7 @@ final class InvestorContextController extends Controller
$ref = isset($d['source']) ? $context->reference($d['source']) : null;
$choices = $this->entryChoices($r, $context);
- return Inertia::render('investor-path/context-start', ['entryQuery' => $r->only(['from_dossier', 'province_id', 'district_id', 'admin_post_id', 'locality_id']), 'opportunityChoices' => $choices, 'contexts' => $path->contexts($r->user()), 'source' => $ref, 'step' => $d['step'] ?? null]);
+ return Inertia::render('investor-path/context-start', ['entryComplements' => $this->entryComplements($r), 'entryQuery' => $r->only(['complement_origin', 'complement_code', 'complement_target', 'complement_territory', 'from_dossier', 'province_id', 'district_id', 'admin_post_id', 'locality_id']), 'opportunityChoices' => $choices, 'contexts' => $path->contexts($r->user()), 'source' => $ref, 'step' => $d['step'] ?? null]);
}
public function installation(Request $r, InvestorContextInstallation $install)
diff --git a/app/Services/InvestmentComplements.php b/app/Services/InvestmentComplements.php
new file mode 100644
index 00000000..1467518c
--- /dev/null
+++ b/app/Services/InvestmentComplements.php
@@ -0,0 +1,157 @@
+ ['Regadio', 'regadio|irrigação|irrigacao'],
+ 'storage' => ['Silos e armazenagem', 'silos?|armazenagem|armazenamento'],
+ 'cold' => ['Cadeia de frio', 'frio|refrigeração'],
+ 'processing' => ['Processamento', 'processamento|transformação|moagem'],
+ 'spinning' => ['Fiação', 'fiação|fiacao'],
+ 'logistics' => ['Logística', 'logística|logistica|transporte'],
+ 'certification' => ['Certificação', 'certificação|certificacao'],
+ 'training' => ['Formação', 'formação|formacao'],
+ 'finance' => ['Financiamento', 'financiamento|serviços financeiros'],
+ ];
+
+ public function options(string $origin, ?string $territory = null): array
+ {
+ [$originKind, $originId] = array_pad(explode(':', $origin, 2), 2, '');
+ abort_unless(($originKind === 'portfolio' && Str::isUuid($originId)) || ($originKind === 'opportunity' && ctype_digit($originId)), 422, 'Origem complementar inválida.');
+ $principal = null;
+ $relationEvidence = [];
+ if (str_starts_with($origin, 'portfolio:')) {
+ $record = InvestmentPortfolioController::visible()->addSelect('version_no')->findOrFail(substr($origin, 10));
+ $text = trim(($record->content['focus'] ?? '')."\n".($record->content['gaps'] ?? '')."\n".($record->content['description'] ?? ''));
+ $reference = ['key' => $origin, 'title' => $record->title, 'href' => '/carteira/'.$record->id, 'version' => $record->version_no];
+ $ids = app(CorridorAgribusinessOpportunities::class)->portfolioOpportunityIds($record);
+ foreach (['projects' => 'project_id', 'clusters' => 'cluster_id', 'corridors' => 'corridor_id'] as $relation => $foreign) {
+ if ($record->$foreign) $ids = [...$ids, ...DB::table('opportunity_'.$relation)->where($foreign, $record->$foreign)->pluck('opportunity_id')->all()];
+ }
+ $basis = $record->source;
+ foreach (array_unique($ids) as $id) $relationEvidence[$id] = ['type' => 'portfolio', 'origin' => $origin, 'source' => $basis];
+ $serviceOrigins = [['dossier', $record->id]];
+ foreach (['project_id' => 'project', 'cluster_id' => 'cluster'] as $foreign => $type) {
+ if ($record->$foreign) $serviceOrigins[] = [$type, $record->$foreign];
+ }
+ } else {
+ $reference = app(InvestorContext::class)->reference($origin);
+ abort_unless($reference['kind'] === 'opportunity', 422);
+ $principal = Opportunity::published()->findOrFail($reference['id']);
+ $text = $principal->summary;
+ $basis = 'Resumo cadastrado da oportunidade '.$principal->reference;
+ $projects = DB::table('opportunity_projects')->where('opportunity_id', $principal->id)->pluck('project_id');
+ $links = DB::table('complementary_project_links')->whereIn('anchor_project_id', $projects)
+ ->whereNull('deleted_at')->where('data_classification', 'public')->get(['id', 'anchor_project_id', 'complementary_project_id', 'relation_type', 'version_no']);
+ $targetProjects = DB::table('opportunity_projects')->whereIn('project_id', $links->pluck('complementary_project_id'))->get();
+ $ids = [$principal->id, ...$targetProjects->pluck('opportunity_id')->all()];
+ $relationEvidence[$principal->id] = ['type' => 'same_fiche', 'source' => $basis];
+ foreach ($targetProjects as $targetProject) $relationEvidence[$targetProject->opportunity_id] = ['type' => 'complementary_project',
+ 'links' => $links->where('complementary_project_id', $targetProject->project_id)->values()->map(fn($link) => (array)$link)->all()];
+ foreach (Opportunity::published()->whereIn('id', $ids)->where('id', '!=', $principal->id)->get() as $linked) $text .= "\n".$linked->summary;
+ if (count($ids) > 1) $basis .= '; relações complementares públicas entre projectos';
+ $serviceOrigins = [['investment', (string) $principal->id]];
+ $classification = app(OpportunityClassification::class);
+ $principalChains = collect($classification->publicRows($principal))->where('target_type', 'chain')->filter(fn($r) => !empty($r['source_reference']));
+ $chains = $principalChains->pluck('target_id')->all();
+ if ($chains) {
+ Opportunity::published()->whereNot('id', $principal->id)->chunkById(100, function ($records) use (&$ids, &$relationEvidence, $chains, $principalChains, $classification) {
+ foreach ($records as $candidate) {
+ $related = collect($classification->publicRows($candidate))->where('target_type', 'chain')->filter(fn($r) => !empty($r['source_reference']));
+ $shared = array_intersect($chains, $related->pluck('target_id')->all());
+ if ($shared) {
+ $ids[] = $candidate->id;
+ $relationEvidence[$candidate->id] ??= ['type' => 'value_chain', 'principal' => $principalChains->whereIn('target_id', $shared)->values()->all(), 'target' => $related->whereIn('target_id', $shared)->values()->all()];
+ }
+ }
+ });
+ }
+ }
+ $territoryReference = $territory ? app(InvestorContext::class)->reference('territory:'.$territory) : null;
+ $candidates = Opportunity::published()->whereIn('id', array_unique($ids))->get();
+ $items = [];
+ foreach (self::TERMS as $code => [$label, $pattern]) {
+ if (!preg_match('/\b(?:'.$pattern.')\b/iu', $text, $match)) continue;
+ $offers = [];
+ foreach ($candidates as $candidate) {
+ // A common corridor alone does not prove the component. Keep the supporting excerpt.
+ if (!preg_match('/\b(?:'.$pattern.')\b/iu', $candidate->title."\n".$candidate->summary, $evidence)) continue;
+ // Mentioning a need for funding/training in a project's summary is not an offer.
+ if (in_array($code, ['certification', 'training', 'finance'], true) && !preg_match('/\b(?:'.$pattern.')\b/iu', $candidate->title)) continue;
+ if (in_array($code, ['certification', 'training', 'finance'], true) && preg_match('/\b(?:necessidade|pedido|procura)\b/iu', $candidate->title)) continue;
+ if ($territory && $candidate->primary_territory_id && !$this->compatible($territory, $candidate->primary_territory_id)) continue;
+ $offers[] = ['key' => 'opportunity:'.$candidate->id, 'title' => $candidate->title, 'href' => '/oportunidades/'.$candidate->slug,
+ 'relationship' => $relationEvidence[$candidate->id] ?? null,
+ 'version' => $candidate->management_version, 'evidence' => $evidence[0], 'location' => ($principal && $principal->id === $candidate->id ? 'Componente referido na própria ficha. ' : '').($candidate->primary_territory_id ? app(InvestorContext::class)->reference('territory:'.$candidate->primary_territory_id)['title'] : 'Implantação por definir')];
+ }
+ // Services are concrete published offerings explicitly associated with this source.
+ $services = [];
+ if (in_array($code, ['certification', 'training', 'finance'], true) && Schema::hasTable('partnership_origins') && Schema::hasTable('partnership_interests')) {
+ if ($serviceOrigins) {
+ $services = DB::table('portal_partnerships as p')->join('partnership_origins as o', 'o.partnership_id', '=', 'p.id')
+ ->where(function ($q) use ($serviceOrigins) {
+ foreach ($serviceOrigins as [$type, $id]) $q->orWhere(fn($q) => $q->where('o.type', $type)->where('o.target_id', $id));
+ })->where('p.status', 'published')->where('p.kind', 'offering')
+ ->where('p.partnership_type', $code === 'finance' ? 'finance' : 'training')
+ ->when($code !== 'finance', fn($q) => $q->where(fn($q) => $q->where('p.title', 'ilike', '%'.$match[0].'%')->orWhereRaw("p.payload->>'summary' ILIKE ?", ['%'.$match[0].'%'])))->distinct()->get(['p.id', 'p.title'])
+ ->filter(function ($p) use ($territory) {
+ if (!$territory) return true;
+ $locations = DB::table('partnership_locations')->where('partnership_id', $p->id)->pluck('geo_location_id');
+ return $locations->isEmpty() || $locations->contains(fn($id) => $this->compatible($territory, $id));
+ })->map(fn ($p) => ['key' => 'partnership:'.$p->id, 'title' => $p->title, 'href' => '/parcerias/'.$p->id, 'location' => 'Consultar âmbito na oferta'])->values()->all();
+ }
+ }
+ $excerpt = collect(explode("\n", $text))->first(fn($line) => preg_match('/\b(?:'.$pattern.')\b/iu', $line));
+ $items[] = ['code' => $code, 'title' => $label, 'origin' => $reference, 'territory_id' => $territory, 'territory' => $territoryReference,
+ 'source' => $basis, 'excerpt' => $excerpt, 'source_sha256' => hash('sha256', $text), 'opportunities' => $offers, 'services' => $services];
+ }
+ return $items;
+ }
+
+ private function compatible(string $a, string $b): bool
+ {
+ if ($a === $b) return true;
+ $geo = app(InvestmentGeography::class);
+ return in_array($b, $geo->descendants($a), true) || in_array($a, $geo->descendants($b), true);
+ }
+
+ public function resolve(array $input, array $previous = []): array
+ {
+ $resolved = [];
+ foreach ($input as $choice) {
+ $target = $choice['target'] ?? null;
+ $old = collect($previous)->first(fn($r) => $r['origin']['key'] === $choice['origin'] && $r['code'] === $choice['code'] && ($r['target']['key'] ?? null) === $target && ($r['territory_id'] ?? null) === ($choice['territory_id'] ?? null));
+ try {
+ $item = collect($this->options($choice['origin'], $choice['territory_id'] ?? null))->firstWhere('code', $choice['code']);
+ } catch (\Illuminate\Database\Eloquent\ModelNotFoundException $e) {
+ if (!$old) throw $e;
+ $item = null;
+ } catch (\Symfony\Component\HttpKernel\Exception\HttpException $e) {
+ if (!$old || $e->getStatusCode() !== 404) throw $e;
+ $item = null;
+ }
+ $offer = $target && $item ? collect([...$item['opportunities'], ...$item['services']])->firstWhere('key', $target) : null;
+ if ($old && (!$item || ($target && !$offer) || (!$target && ($item['opportunities'] || $item['services'])))) {
+ $resolved[$old['key']] = [...$old, 'availability' => 'review_required'];
+ continue;
+ }
+ abort_unless($item, 422, 'Complemento sem referência documentada neste investimento.');
+ abort_if($target && !$offer, 422, 'A oferta complementar deixou de estar disponível neste contexto.');
+ abort_if(!$target && ($item['opportunities'] || $item['services']), 422, 'Já existe uma oferta relacionada; seleccione a ficha correspondente.');
+ $key = hash('sha256', $choice['origin'].'|'.$choice['code'].'|'.($target ?? 'idea').'|'.($choice['territory_id'] ?? ''));
+ $resolved[$key] = ['key' => $key, 'origin' => $item['origin'], 'code' => $item['code'], 'title' => $item['title'],
+ 'kind' => $target ? (str_starts_with($target, 'opportunity:') ? 'opportunity' : 'service') : 'need',
+ 'target' => $offer, 'territory_id' => $item['territory_id'], 'territory' => $item['territory'], 'source' => $item['source'], 'excerpt' => $item['excerpt'], 'source_sha256' => $item['source_sha256']];
+ }
+ return array_values($resolved);
+ }
+}
diff --git a/app/Services/InvestorContext.php b/app/Services/InvestorContext.php
index c27e0cb3..d6c1b909 100644
--- a/app/Services/InvestorContext.php
+++ b/app/Services/InvestorContext.php
@@ -39,10 +39,11 @@ final class InvestorContext
$case=$this->desk->case($actor,$id,true);
abort_if($case->closed_at,409);
$sequence = (int)($input['draft_sequence'] ?? 0);
- $entrySources=Validator::make($input,['entry_sources'=>'sometimes|array|max:100','entry_sources.*'=>'string|max:100'])->validate()['entry_sources']??[];
+ $entrySources=Validator::make($input,['entry_sources'=>'sometimes|array|max:200','entry_sources.*'=>'string|max:100'])->validate()['entry_sources']??[];
unset($input['draft_sequence'],$input['entry_sources']);
abort_unless($sequence > 0, 422);
$data = $this->input($input);
+ if (isset($data['complements'])) app(InvestmentComplements::class)->resolve($data['complements'], $this->state($case)['complements'] ?? []);
foreach ($data['selection'] as $slot=>$key) {
if (!$key) continue;
$ref=$this->reference($key);
@@ -328,7 +329,7 @@ final class InvestorContext
private function input(array $input): array
{
- abort_if(array_diff(array_keys($input), ['opportunity_choices', 'version', 'selection', 'declarations', 'replace_fields', 'preview_hash', 'operation_key', 'confirm', 'document_links', '_token']), 422, 'Campo de controlo desconhecido.');
+ abort_if(array_diff(array_keys($input), ['complements', 'opportunity_choices', 'version', 'selection', 'declarations', 'replace_fields', 'preview_hash', 'operation_key', 'confirm', 'document_links', '_token']), 422, 'Campo de controlo desconhecido.');
abort_if(! app(PrivateInvestmentPreparation::class)->available() && (! empty($input['document_links']) || array_intersect(array_keys(is_array($input['declarations'] ?? null) ? $input['declarations'] : []), PrivateInvestmentPreparation::FIELDS)), 409, 'Esta preparação ainda não está disponível neste ambiente. As respostas foram preservadas.');
@@ -341,6 +342,9 @@ final class InvestorContext
}
return Validator::make($input, [...$inputRules,
+ 'complements' => 'sometimes|array|max:100', 'complements.*' => 'array:origin,code,target,territory_id',
+ 'complements.*.origin' => 'required|string|max:100', 'complements.*.code' => 'required|string|max:40',
+ 'complements.*.target' => 'nullable|string|max:100', 'complements.*.territory_id' => 'nullable|uuid',
'opportunity_choices' => 'sometimes|array|max:100', 'opportunity_choices.*' => 'array:source,territory,location_reason,confirm_location_change,activities,corridor_key,portfolio_origins',
'opportunity_choices.*.portfolio_origins' => 'sometimes|array|max:100', 'opportunity_choices.*.portfolio_origins.*' => 'uuid',
'opportunity_choices.*.corridor_key' => ['sometimes', 'nullable', Rule::in(array_keys(config('investment_corridors')))],
@@ -361,6 +365,7 @@ final class InvestorContext
abort_unless((int) $case->version === $data['version'], 409, 'O dossier mudou; recupere a versão atual.');
app(InvestorPath::class)->view($actor, $id);
$old = $this->state($case);
+ $complements = array_key_exists('complements', $data) ? app(InvestmentComplements::class)->resolve($data['complements'], $old['complements'] ?? []) : ($old['complements'] ?? []);
$links = $old['preparation_documents'] ?? [];
foreach ($data['document_links'] ?? [] as $key => $document) {
if ($document) {
@@ -388,6 +393,12 @@ final class InvestorContext
abort(422, 'Actualize a selecção identificada de oportunidades; não substitua silenciosamente o conjunto por uma ficha.');
}
$selection = $old['selection'];
+ foreach ($complements as $complement) {
+ if (($complement['availability'] ?? '') === 'review_required') continue;
+ foreach ([$complement['origin']['key'], $complement['target']['key'] ?? ''] as $key) {
+ if (str_starts_with($key, 'opportunity:')) abort_unless(in_array($key, array_column(array_column($choices, 'opportunity'), 'key'), true), 422, 'Conserve a oportunidade escolhida ou retire explicitamente a sua relação complementar.');
+ }
+ }
foreach ($data['selection'] as $slot => $key) {
if ($key === null || $key === '') {
unset($selection[$slot]);
@@ -475,12 +486,13 @@ final class InvestorContext
}
}
$changedFields = array_column($replaced, 'field');
+ if ($complements !== ($old['complements'] ?? [])) $changed[] = 'complements';
$choicesChanged = $choices !== ($old['opportunity_choices'] ?? []);
$choiceInputsChanged = array_map(fn($c)=>Arr::except($c,['portfolio_origins']),$choices) !== array_map(fn($c)=>Arr::except($c,['portfolio_origins']),$old['opportunity_choices']??[]);
if ($choiceInputsChanged) $changed = array_values(array_unique([...$changed, 'opportunity', 'territory']));
elseif ($choicesChanged) $changed[] = 'portfolio_origins';
$conditionsChanged = (bool) array_intersect($changedFields, array_diff(self::FIELDS, ['project_title', 'project_summary']));
- $dependencyChanged = $choiceInputsChanged || $this->dependencyHash($old['selection']) !== $this->dependencyHash($selection) || $conditionsChanged;
+ $dependencyChanged = $choiceInputsChanged || in_array('complements', $changed, true) || $this->dependencyHash($old['selection']) !== $this->dependencyHash($selection) || $conditionsChanged;
$privateConditionsChanged = (bool) array_intersect($changedFields, PrivateInvestmentPreparation::FIELDS);
$calculationInputsChanged = $choiceInputsChanged || $this->dependencyHash($old['selection']) !== $this->dependencyHash($selection) || (bool) array_intersect($changedFields, array_diff(self::FIELDS, ['project_title', 'project_summary', ...array_diff(PrivateInvestmentPreparation::FIELDS, ['total_investment', 'area_required', 'area_unit'])]));
$payload = $this->desk->decode($case->payload);
@@ -493,6 +505,7 @@ final class InvestorContext
if ($privateConditionsChanged) {
$steps = array_values(array_unique([...$steps, 'S02', 'S05', 'S06', 'S07']));
}
+ if (in_array('complements', $changed, true)) $steps = array_values(array_unique([...$steps, 'S02', 'S08']));
$privatePreparation = null;
if (app(PrivateInvestmentPreparation::class)->available()) {
$docs = $this->preparationDocuments($id);
@@ -500,7 +513,7 @@ final class InvestorContext
$afterPreparation = app(PrivateInvestmentPreparation::class)->assess(['fields' => $fields, 'selection' => $selection, 'preparation_documents' => $links], $docs);
$privatePreparation = ['before' => $beforePreparation, 'after' => $afterPreparation];
}
- $plan = ['opportunity_choices' => $choices, 'case_id' => $id, 'version' => (int) $case->version, 'revision' => (int) $old['revision'], 'selection' => $selection, 'fields' => $fields, 'provenance' => $provenance,
+ $plan = ['complements' => $complements, 'opportunity_choices' => $choices, 'case_id' => $id, 'version' => (int) $case->version, 'revision' => (int) $old['revision'], 'selection' => $selection, 'fields' => $fields, 'provenance' => $provenance,
'preparation_documents' => $links, 'private_investment' => $privatePreparation,
'updated' => $replaced, 'maintained' => $kept, 'changed_dimensions' => $changed, 'dependent_results' => (int) $case->user_id === $actor->id && $calculationInputsChanged ? array_map(fn ($r) => ['id' => $r['id'], 'engine' => $r['engine']], $results) : [],
'requests' => $requests, 'review_steps' => $steps, 'dependency_changed' => $dependencyChanged, 'calculation_inputs_changed' => $calculationInputsChanged, 'documents_preserved' => DB::table('desk_documents')->where('case_id', $id)->count(),
@@ -545,8 +558,9 @@ final class InvestorContext
$review[$step] = ['revision' => $revision, 'reason' => 'O contexto mudou; reveja os pressupostos e a evidência aplicável.'];
}
$context = ['opportunity_choices' => $plan['opportunity_choices'], 'preparation_documents' => $plan['preparation_documents'], 'preparation_snapshot' => $plan['private_investment']['after'] ?? $before['preparation_snapshot'] ?? null, 'revision' => $revision, 'selection' => $plan['selection'], 'fields' => $plan['fields'], 'provenance' => $plan['provenance'], 'review_steps' => $review,
- 'dependency_hash' => $this->dependencyHash([...($plan['opportunity_choices'] !== [] ? ['opportunity_choices' => $plan['opportunity_choices']] : []), 'selection' => $plan['selection'], 'fields' => Arr::except($plan['fields'], ['project_title', 'project_summary'])]), 'updated_at' => now()->toIso8601String(), 'updated_by' => $actor->id];
+ 'dependency_hash' => $this->dependencyHash([...($plan['opportunity_choices'] !== [] ? ['opportunity_choices' => $plan['opportunity_choices']] : []), ...($plan['complements'] ? ['complements' => $plan['complements']] : []), 'selection' => $plan['selection'], 'fields' => Arr::except($plan['fields'], ['project_title', 'project_summary'])]), 'updated_at' => now()->toIso8601String(), 'updated_by' => $actor->id];
$context['requirements_assessment'] = $plan['requirements_assessment'];
+ $context['complements'] = $plan['complements'];
if ($plan['calculation_inputs_changed']) {
foreach ($payload['investor_path']['results'] ?? [] as $i => $r) {
$payload['investor_path']['results'][$i] = [...$r, 'context_state' => 'review_required', 'context_invalidated_revision' => $revision, 'context_invalidated_at' => now()->toIso8601String()];
@@ -629,6 +643,7 @@ final class InvestorContext
'zone' => $zone ? Arr::only($zone, ['id', 'title', 'href', 'version', 'sha256', 'fields', 'analysis']) : null,
'provenance' => $ctx['provenance'],
'opportunity_choices' => $ctx['opportunity_choices'] ?? [],
+ 'complements' => $ctx['complements'] ?? [],
'requirements_assessment' => $ctx['requirements_assessment'] ?? null,
'path' => $ctx['path_applicability'] ?? null,
'land_preparation' => $ctx['land_preparation'] ?? null,
diff --git a/docs/investmoz/unification/investment-complements-qa-receipt-20261023.json b/docs/investmoz/unification/investment-complements-qa-receipt-20261023.json
new file mode 100644
index 00000000..707e2e7a
--- /dev/null
+++ b/docs/investmoz/unification/investment-complements-qa-receipt-20261023.json
@@ -0,0 +1,199 @@
+{
+ "date": "2026-10-23",
+ "timezone": "Africa/Johannesburg",
+ "status": "implemented_and_visually_verified_in_isolated_qa_not_installed",
+ "baseline_commit": "4098192a056959d788e6f9ff5cd501211b001f39",
+ "preserved_acceptance": {
+ "delivery": "6b544548d3c83fc8a72ab65d8f58f84685a2877f",
+ "receipt": "4098192a056959d788e6f9ff5cd501211b001f39",
+ "cases_repeated": false
+ },
+ "cause": {
+ "portfolio_field": "content.focus",
+ "previous_contract": "string rendered as descriptive text; no complementary selection or typed origin-target relationship in the dossier",
+ "data_loss_claimed": false
+ },
+ "scope": {
+ "components": [
+ "irrigation",
+ "storage",
+ "cold",
+ "processing",
+ "spinning",
+ "logistics",
+ "certification",
+ "training",
+ "finance"
+ ],
+ "existing_opportunity_identity_preserved": true,
+ "documented_sources": [
+ "portfolio associations including the existing accepted documentary membership",
+ "public complementary_project_links",
+ "existing publicly disclosed value-chain references",
+ "published offering partnerships explicitly associated with the origin"
+ ],
+ "distinct_states": [
+ "registered opportunity",
+ "identified complementary need without a matched offer",
+ "existing service or instrument",
+ "previously selected relationship requiring review"
+ ],
+ "dossier": [
+ "encrypted existing payload",
+ "draft",
+ "preview and confirmation",
+ "explicit removal and reselection",
+ "existing audit history",
+ "source and territory preserved",
+ "pending edits saved before complementary navigation"
+ ],
+ "consumers": [
+ "dossier",
+ "shared prefill component for simulator, land, desk and submission",
+ "simulator context snapshot",
+ "shared report and export rows"
+ ]
+ },
+ "validation": {
+ "database": "simulator_fiscal_delta_20261021_test",
+ "host": "127.0.0.1",
+ "port": 55441,
+ "database_identity_guard": true,
+ "test_transaction_rollback": true,
+ "feature_test_file": "tests/Feature/InvestmentComplementsTest.php",
+ "feature_tests_passed": 8,
+ "feature_assertions": 134,
+ "frontend_test_file": "tests/frontend/investment-complements.test.mjs",
+ "frontend_tests_passed": 2,
+ "typescript": "passed",
+ "build": "passed",
+ "php_syntax": "passed",
+ "diff_whitespace_check": "passed",
+ "public_chain_branch": "synthetic public projection contract; not evidence of new real-world chain associations",
+ "browser_visual_verification": "passed_for_the_requested_complement_scope"
+ },
+ "visual_verification": {
+ "date": "2026-10-23",
+ "environment": "http://127.0.0.1:18574",
+ "router": "tools/corridor-agribusiness-qa-router.php",
+ "database_guard_checked_on_requests": true,
+ "actor": "existing synthetic QA actor 509; existing normal browser session",
+ "case_id": "6fdbb963-726e-4048-9884-8cddc04e77a6",
+ "case_title": "SYNTHETIC QA — conferência visual de complementos 23-10-2026",
+ "existing_opportunity": {
+ "id": 286,
+ "reference": "INV-MZ-GEN-8128691124566423",
+ "slug": "inv-mz-gen-8128691124566423",
+ "result": "Opened the existing fiche from the storage complement; the preparation entry retained the portfolio origin and the existing identity. No reimport or duplicate."
+ },
+ "need_without_identified_offer": {
+ "code": "spinning",
+ "origin": "portfolio:a7271336-808b-42b4-8bfd-5b49c72dbe2b",
+ "result": "Started idea preparation in the same dossier; recovered as a complementary need with location still undetermined, without inventing an offer or inheriting Sofala."
+ },
+ "associated_service": {
+ "id": 17,
+ "synthetic_fixture": true,
+ "origin": "opportunity:309",
+ "territory": "Gaza",
+ "result": "Opened the existing QA service fiche, selected it through the return action, confirmed it and recovered it in the same dossier."
+ },
+ "multiple_opportunities": {
+ "first": {
+ "id": 286,
+ "territory": "Sofala"
+ },
+ "second": {
+ "id": 309,
+ "territory": "Gaza",
+ "synthetic_fixture": true
+ },
+ "complementary_opportunity": {
+ "id": 310,
+ "origin_id": 309,
+ "territory": "Gaza",
+ "synthetic_fixture": true
+ },
+ "service_origin_id": 309,
+ "recovered_after_confirmation_and_browser_reload": true,
+ "complements_assigned_to_first_automatically": false
+ },
+ "fixture_preparation": {
+ "previous_service_offerings_in_qa": 0,
+ "new_synthetic_records": "Two projects, two opportunities, one explicit complementary-project link and one associated training offering, solely in the guarded QA database; no grants or real publication/approval claims.",
+ "preexisting_records_preserved_by_hash": {
+ "opportunities": 45,
+ "projects": 17,
+ "investment_dossiers": 30,
+ "portal_partnerships": 0
+ },
+ "fixtures_and_visual_case_persisted_in_qa": true,
+ "fixture_receipt": "outputs/complements-visual-20261023/fixture.json"
+ },
+ "evidence_directory": "outputs/complements-visual-20261023",
+ "automated_suites_repeated": false,
+ "functional_code_changes_in_this_visual_pass": false,
+ "does_not_demonstrate": [
+ "multi-opportunity zones and parks",
+ "specific per-opportunity context in land assistance",
+ "specific per-opportunity context in virtual desk",
+ "specific per-opportunity context in manifestation",
+ "availability of a real training or financing service in homologation"
+ ],
+ "evidence_files": [
+ {
+ "path": "outputs/complements-visual-20261023/existing-opportunity.png",
+ "bytes": 112261,
+ "sha256": "93425703b17c0976a5728acc7448faa0b7dd73e34973cb68ebf72cb9d416dd58"
+ },
+ {
+ "path": "outputs/complements-visual-20261023/associated-service.png",
+ "bytes": 117223,
+ "sha256": "a5d16746b4264b779430cc3843959492bea41a3da2adc00298fa2133c99aef9d"
+ },
+ {
+ "path": "outputs/complements-visual-20261023/recovered-opportunities.png",
+ "bytes": 99910,
+ "sha256": "eb65dd0d42af0c9f553db6756760dcc16f598b2da7b3d0157b6faea3dbebf24e"
+ },
+ {
+ "path": "outputs/complements-visual-20261023/recovered-complements.png",
+ "bytes": 147972,
+ "sha256": "4e2db825710665298803542fe9c7f299404962503609948ddd083c3daf195a73"
+ },
+ {
+ "path": "outputs/complements-visual-20261023/recovered-visible-state.json",
+ "bytes": 2304,
+ "sha256": "d2ada1b501db973f1492a54f1704e9cb2de112e38cacd4ab916f059dbbd11f18"
+ },
+ {
+ "path": "outputs/complements-visual-20261023/fixture.json",
+ "bytes": 904,
+ "sha256": "79fa2ac8196ca5620b258c78332a2462b44f2c5b622fc0c1895fb39199efcd67"
+ }
+ ]
+ },
+ "preservation": {
+ "active_database_writes": false,
+ "homologation_installation": false,
+ "migration": false,
+ "publication": false,
+ "import": false,
+ "new_roles_or_grants": false,
+ "new_matrix_or_backlog": false
+ },
+ "matrix_rows": [
+ "RF-CLU-003",
+ "RF-COR-004",
+ "AUD-REL-02",
+ "AUD-LEG-06",
+ "AUD-SIM-INT06"
+ ],
+ "limitations": [
+ "Visual verification is limited to the documented QA scenarios; no Tempo acceptance or destination installation is claimed.",
+ "The resolver covers the nine requested component scopes in available documentary contexts; unmatched expressions and absent relationships are not fabricated.",
+ "No matched offer means none identified in the examined relationships, not proof that the entire collection has no offer.",
+ "The existing first-opportunity zone/park selection and complete per-opportunity requirements in other forms remain partial.",
+ "No global completion of the adaptive journey is claimed."
+ ]
+}
diff --git a/docs/investmoz/unification/traceability-and-manual.md b/docs/investmoz/unification/traceability-and-manual.md
index 96a5981a..616cf16c 100644
--- a/docs/investmoz/unification/traceability-and-manual.md
+++ b/docs/investmoz/unification/traceability-and-manual.md
@@ -1,5 +1,62 @@
# Rastreabilidade, utilização e formação
+## Complementos — conferência visual QA concluída no recorte pedido, 23/10/2026
+
+Pedido da Tempo: conferir abertura da ficha complementar existente, preparação de necessidade sem oferta identificada, selecção de serviço/instrumento e recuperação de selecção/origem/localização; com várias oportunidades, verificar a ligação à oportunidade escolhida, sem assumir a primeira. Homologação inalterada e fechos anteriores preservados. Esta passagem supera **apenas a pendência visual dos complementos neste recorte** nas secções abaixo; não declara a aplicação transversal concluída.
+
+Ambiente usado: navegador Edge em `http://127.0.0.1:18574`, servido pelo router QA existente, com guarda efectiva de `simulator_fiscal_delta_20261021_test:55441` em cada pedido. Reutilizada a sessão normal da conta sintética QA 509; sem criar sessão, contornar MFA ou conceder papéis. Criado pela interface o dossier **SYNTHETIC QA — conferência visual de complementos 23-10-2026**, ID `6fdbb963-726e-4048-9884-8cddc04e77a6`; nenhum dossier anterior foi editado.
+
+| Passagem visual | Resultado demonstrado |
+| --- | --- |
+| Abrir oportunidade complementar existente | Silos/armazenagem → Milho, trigo e arroz — Corredor da Beira, ID **286**, referência e slug `INV-MZ-GEN-8128691124566423`/`inv-mz-gen-8128691124566423`, conservados. A entrada de preparação recebeu a relação à carteira e a mesma identidade, sem reimportação. |
+| Preparar necessidade sem oferta identificada | Acção de Fiação abriu a preparação no mesmo dossier e apresentou **Necessidade complementar — ideia em preparação**. Confirmada e recuperada com origem no Corredor da Beira e Centro. A localização inicialmente não escolhida ficou **Por definir**, sem receber Sofala por associação à primeira oportunidade. |
+| Seleccionar serviço associado | Ficha do serviço QA **17**, de Formação, aberta e seleccionada por **Seleccionar este complemento e continuar no dossier de origem**. Origem: segunda oportunidade QA **309**; localização: **Gaza**. Recuperadas após confirmação e recarregamento. |
+| Várias oportunidades, sem assumir a primeira | Primeira ficha **286 → Sofala**; segunda **309 → Gaza**. O complemento de frio **310** e Formação **17** ficaram ligados à **309**, em **Gaza**; a primeira ficha continuou em Sofala. A consulta das fichas e o retorno conservaram as escolhas pendentes, incluindo Fiação. |
+| Recuperar no dossier | Após **Rever dados antes de guardar → Guardar dados do investimento → Voltar ao dossier → recarregar**, recuperaram-se três fichas e quatro relações complementares: Silos/armazenagem, Fiação, Formação e Cadeia de frio, cada uma com a sua origem e localização informada ou indeterminada. O título deliberado do dossier permaneceu intacto. |
+
+**Âmbito dos exemplos:** a ficha 286 e a origem da carteira são identidades já existentes em QA. A base QA não tinha ofertas de serviços; para a prova visual positiva foram preparados **dois projectos, duas oportunidades (309/310), uma relação complementar pública e um serviço (17)**, todos explicitamente marcados **SYNTHETIC QA**. O serviço foi tornado visível unicamente como fixture da base QA guardada, não como publicação real nem aprovação da Tempo; não foi transportado para a homologação. A prova não declara um serviço real disponível no destino. Os registos anteriores de oportunidades (45), projectos (17), fichas da carteira (30) e parcerias (zero) permaneceram iguais por hash na preparação das fixtures. Originais, relações, permissões e aceitações anteriores foram preservados.
+
+Provas locais: [ficha existente](../../../outputs/complements-visual-20261023/existing-opportunity.png), [serviço e sua origem](../../../outputs/complements-visual-20261023/associated-service.png), [oportunidades recuperadas](../../../outputs/complements-visual-20261023/recovered-opportunities.png) e [complementos recuperados](../../../outputs/complements-visual-20261023/recovered-complements.png). Texto visível recuperado e recibo das fixtures no mesmo directório. Actualizado o [recibo existente](investment-complements-qa-receipt-20261023.json) e a cobertura das cinco linhas existentes da matriz. Não houve nova alteração funcional, migration, instalação, importação ou escrita na homologação nesta passagem; as suites automáticas anteriores não foram repetidas.
+
+**Saldo preservado:** conferência visual positiva dos complementos descritos, incluindo origem na segunda oportunidade. Zonas/parques, Terra/DUAT, Balcão e manifestação com contextos específicos de várias oportunidades **continuam por demonstrar**. Não se declara aceitação da Tempo, disponibilização no destino ou fecho global. Os três fechos de `6b544548`/`4098192a` mantêm-se.
+
+## Complementos ligados ao investimento e ao dossier — preparação QA, 23/10/2026
+
+**Origem funcional:** pedido expresso da Tempo nesta retoma: ligar regadio, silos, frio, processamento, fiação e logística às oportunidades existentes; distinguir necessidades ainda sem oferta; ligar certificação, formação e financiamento aos serviços/instrumentos existentes, conservando contexto e identidade no dossier. Este incremento não reabre gravação/idioma, proveniência do relatório ou Beira → sete oportunidades, encerrados no âmbito de `6b544548`/`4098192a`. Mantêm-se as aceitações e os limites transversais anteriores.
+
+**Causa delimitada no código anterior:** `content.focus` era uma string, validada com os restantes campos textuais em `InvestmentPortfolioController::save` e apresentada por `portfolio/show.tsx` como texto em `
`. Não existia resolução desses complementos para identidades de oportunidades/serviços nem selecção complementar no contexto privado. O bloco separado de oportunidades relacionadas não conservava uma relação tipificada «origem → complemento escolhido». Isso demonstra a integração ausente nesse trecho, não eliminação de fichas ou perda de dados. A tabela `complementary_project_links` já existia; não se criou outra tabela ou cadastro paralelo.
+
+**Comportamento preparado no percurso existente:**
+
+- As fichas públicas da carteira e das oportunidades apresentam os complementos mencionados no seu contexto documental. O resolvedor `InvestmentComplements` cruza a menção com as relações existentes à carteira, as ligações públicas entre projectos complementares ou a cadeia de valor publicamente documentada. A menção isolada não associa oportunidades fora dessas relações. Mantêm-se os estados publicados da classificação, incluindo referências preliminares, sem os promover a confirmação.
+- Uma oportunidade identificada abre pela mesma rota/ID/slug; a escolha inclui origem, tipo de complemento, ficha de destino, localização escolhida, versão, trecho, fonte e hash do contexto consultado. Quando a componente está expressamente incluída na própria oportunidade, liga a essa identidade e explica-o, sem criar outra ficha.
+- Certificação/formação/financiamento consultam ofertas publicadas da Bolsa explicitamente ligadas à origem, distinguindo `offering` de `seeking`. Serviços ligados à ficha da carteira ou ao seu projecto/cluster também são reutilizados. Financiamento reutiliza o tipo financeiro existente; uma necessidade de financiamento no resumo de um projecto não é, por si, uma oferta. Não se activaram contratos modulares nem instrumentos por importação.
+- Sem oferta identificada nas relações desse contexto, apresenta-se **necessidade complementar**, com acção para iniciar uma ideia ou prepará-la num dossier existente. Não se cria nem publica uma oportunidade como efeito dessa acção. A ausência de correspondência neste recorte não declara inexistência absoluta no acervo.
+- No editor do dossier, os complementos são consultados por oportunidade e localização; um território conhecido incompatível exclui o destino, e localização desconhecida continua «por definir». As escolhas têm prévia e confirmação, rascunho, retirada explícita e recuperação. Ao consultar/seleccionar outro complemento, a navegação aguarda a gravação das edições pendentes; o contexto acompanha a consulta da ficha pública. Uma entrada antiga retirada não volta por actualização; uma nova selecção explícita pode recuperá-la.
+- A relação fica no payload cifrado e no histórico existente do dossier, aparece no dossier e no componente comum dos quatro formulários, e acompanha o snapshot do simulador e as linhas do modelo comum de relatório/exportação. Os dados deliberados do investimento principal conservam-se. Uma oferta retirada não pode entrar como nova escolha; uma relação anteriormente confirmada conserva o snapshot para revisão, sem republicar a oferta. Uma origem indisponível na consulta em lote é assinalada e não oculta os restantes resultados.
+
+**Escolhas técnicas, sem novas exigências organizacionais:** vocabulário literal dos nove âmbitos solicitados para identificar trechos; IDs e relações existentes para resolver destinos; filtragem pela hierarquia territorial pública; selecção complementar no JSON cifrado e confirmação/versionamento já existentes. Não houve migration, novo papel, nova aprovação, importação, publicação, alteração de dados activos ou instalação na homologação. Não se transportaram dados QA para o destino.
+
+**Verificação delimitada:** testes novos de `InvestmentComplementsTest` na base isolada `simulator_fiscal_delta_20261021_test`, porta 55441, com guarda do alvo e transacções revertidas; testes frontend novos em `investment-complements.test.mjs`; TypeScript e build. A prova da cadeia de valor usa um contrato público sintético identificado como tal, sem declarar novas relações reais no cadastro. Recibo resumido: [investment-complements-qa-receipt-20261023.json](investment-complements-qa-receipt-20261023.json). Não se repetiram os três casos aceites. Não se declara conferência visual nova no navegador, instalação ou aceitação da Tempo.
+
+**Guia de utilização preparado:** abrir a ficha principal → **Investimentos e serviços complementares** → consultar a ficha correspondente ou **Iniciar preparação de uma ideia** → seleccionar o dossier autorizado ou criar a ideia → rever os complementos, localizações e diferenças → confirmar no editor. Para retirar, usar **Retirar esta relação da preparação** e confirmar a comparação. Os formulários ligados mostram a relação consultada, mantendo os seus próprios dados e operações de gravação/submissão.
+
+**Saldo:** este incremento cobre a ligação e conservação dos complementos resolvidos pelas fontes/relações acima. Não declara associação automática de todos os complementos a todas as fichas, cadastro completo dos serviços ou cobertura de todas as expressões possíveis. As opções comuns de zonas/parques e a passagem de requisitos específicos de várias oportunidades aos restantes formulários, identificadas na avaliação anterior, continuam parciais. Matriz existente: RF-CLU-003, RF-COR-004, AUD-REL-02, AUD-LEG-06 e AUD-SIM-INT06, sem nova matriz/backlog.
+
+## Avaliação dos trechos restantes — 23/10/2026
+
+Decisão expressa da Tempo nesta retoma: **encerradas no âmbito reportado** gravação/idioma, origem dos dados no relatório e ligação da Beira às sete oportunidades; entrega `6b544548`, recibo `4098192a`. Reutilizar essas provas, sem repetir os casos aceites. **A aplicação transversal permanece parcial.** Esta passagem é avaliação estática do código e inventário de cobertura existente; não é nova prova visual, execução dos testes citados ou alteração na homologação. Não foi confirmada perda adicional de dados ou funcionalidades.
+
+| Prioridade | Implementação e provas existentes a preservar | Limite encontrado / trecho ainda a demonstrar |
+| --- | --- | --- |
+| Várias oportunidades | `InvestmentOpportunityChoices`, `InvestorContext` e `investment-opportunity-choices.tsx` conservam território, actividades e origens por ficha. O teste existente `test_multiple_opportunities_keep_sites_sources_requirements_and_results_in_one_dossier` cobre confirmação, recuperação, requisitos agregados e resultados preservados. Não foi repetido. | `InvestorContext.php:384–386` escolhe a primeira oportunidade para os campos comuns. Avaliar retirada/mudança da primeira e alteração apenas da segunda, sem atribuir os dados comuns a todas as fichas. A existência do teste não demonstra a interface deste delta. |
+| Corredor/localização | Cada cartão tem corredor e caminho territorial próprios; a mudança conserva caminho compatível e retira níveis incompatíveis com explicação. O teste existente `test_corridor_change_keeps_compatible_paths_and_removes_only_incompatible_geography` preserva esta cobertura. | `context.tsx` carrega parques por `choices[0]`, e `InvestorContext` também usa a primeira escolha na compatibilidade comum. Uma mudança apenas na segunda não altera esses parâmetros. Falta demonstrar como se apresenta e distingue a aplicabilidade das zonas/parques nas várias oportunidades. Não inferir que todas perderam a localização. |
+| Reutilização nos restantes formulários | `DossierPrefill` está integrado em simulador, Terra/DUAT, balcão e manifestação. `inheritCompatibleFields` preenche vazios, acompanha herança identificada e conserva valores deliberados; a interface permite comparar/substituir campos. Balcão respeita os campos editáveis de um pedido devolvido. | `prefill()` entrega uma parcela territorial comum a Terra/DUAT e valores comuns aos outros destinos. No componente de reutilização, a lista `OpportunityChoices` só aparece para `simulator`. Não está demonstrada a passagem dos contextos específicos de duas oportunidades aos restantes formulários; a ligação ao mesmo dossier não comprova essa cobertura. |
+
+Próxima prova delimitada em QA isolado: duas oportunidades com corredores/localizações distintos; mudar apenas a segunda e conferir opções/requisitos e conservação da primeira; retirar a primeira e comparar o impacto proposto nos campos comuns; abrir Terra/DUAT, balcão e manifestação a partir desse dossier, conferir dados comuns e referências específicas, preservar uma edição deliberada e recuperar os formulários. Usar apenas as etapas aplicáveis, sem manifestação/submissão real. Não repetir idioma/gravação, proveniência do relatório ou as sete ligações aceites. A comparação entre primeira e segunda escolha é um método técnico de avaliação, não uma nova regra de negócio nem decisão de escolher uma localização comum pela Tempo.
+
+Cobertura registada nas linhas existentes AUD-SIM-INT03 e AUD-LEG-06 da matriz; sem nova matriz ou backlog. Nenhuma alteração de código funcional, schema, dados, configuração ou permissões nesta avaliação. Os limites acima permanecem pendentes de demonstração/correcção delimitada; não são declarados resolvidos por documentação.
+
## Instalação e conferência das três correcções — 23/10/2026
**Revisão servida: `6b544548`.** Conferência visual QA da Beira concluída antes da integração: sete oportunidades visíveis, Florestas abre com origem da carteira conservada nos dois botões de preparação. Integrada por avanço directo no Git, sem alterações concorrentes em main. Executor concluído às 13:45:19 UTC, 206/206 testes frontend; zero migrations/importações e nenhuma alteração de permissões. Recibo: `continuity-corrections-installation-receipt-20261023.json`. As referências abaixo a QA pendente/homologação em `7c1f5321` descrevem o estado histórico anterior, sucedido por esta instalação.
diff --git a/docs/investmoz/v2/auditoria-portal/matriz-requisitos.csv b/docs/investmoz/v2/auditoria-portal/matriz-requisitos.csv
index 5673c7f1..5f130fcd 100644
--- a/docs/investmoz/v2/auditoria-portal/matriz-requisitos.csv
+++ b/docs/investmoz/v2/auditoria-portal/matriz-requisitos.csv
@@ -32,13 +32,13 @@ RF-CLU-001,"Administrar clusters, subclusters, cadeias de valor, taxonomias e ve
[Executável 312965f2c653] P3 staging privado completo; P4 nominal destino real 27 refs/25 territórios, zero geometrias. Pré-condições fontes conferidas; pacote para decisão, não aplicado. Reversão após uso só manifesto/build, backend e dados retidos. Adaptador ensaiado só em clone: rollback/recuperação após commit e repetição sem duplicações; aplicação 56 fontes inalterada. Acesso público e diferenças visuais/login continuam abertos. Saldo remoto delimitado 4–7 h; sem alterações remotas.
[Homologação 312965f2c653 executada] Autorização Tempo; 30 fichas privadas/30 locais/31 suportes/11 relações/2 originais e 2 definições internas, 233 caminhos conferidos. Dados anteriores/permissões preservados; zero publicação/migrations/geometrias/P7. Saldo delimitado de execução concluído. Dossier legítimo, oito lacunas e questões de autenticação/visual separadas. RECIBO-EXECUCAO-312965.json.",território,12/10/2026 — reconciliação e HTTP; nova inspeção visual bloqueada,,,Verificar individualmente este critério no contrato e percurso aplicável; a matriz inicial conserva texto/fonte sem o promover a aceitação.,"QA de UI quando browser disponível; reutilizar o domínio existente. Dados/decisões específicos no backlog, sem segunda validação de fonte oficial.",resources/js/components/investment-territory.tsx; app/Http/Controllers/InvestmentTerritoryController.php — componentes do domínio encontrados; correspondência integral deste requisito não presumida,"InvestmentTerritoryTest, TerritorialRegistryTest, InvestmentTerritorialTraceabilityTest, InvestmentZoneTest; suite global QA e GET por perfil disponíveis. Evidência do domínio não demonstra integralmente esta cláusula; UI individual pendente.",Não demonstrado individualmente; localizar critério e executar em QA.,," | QA01: prova positiva delimitada de atividade/cadeia e operações do lote concluída, conservando as aceitações anteriores e a semântica privada/confirmada/pública. | ATIVO01: instalação/importação/publicação autenticadas, scan, repetição idempotente, recuperação pública do ramo A/01/011/0112/01120 e preservação operacional concluídos. Provas funcionais QA aceites reutilizadas, sem repetição."," | QA01: divergência documental 600/579 e edição normativa abertas; cadeia editorial; publicação canónica com pré-condições sintéticas; save legado transacional; sem volume ou recuperação de payload legado cifrado; reversão parcial com sete fontes funcionais. Sem decisão ativa presumida. | ATIVO01: não encerra CAE integral ou divergência 600/579/edição normativa; cadeia exclusivamente editorial. Nenhuma classificação ou relação de investimento real alterada/divulgada. Limites QA anteriores e reversão parcial compatível mantidos; editor UUID ativo de /negocios continua não demonstrado e não bloqueante. Parques, duplicados e regulação Fintech separados.","0,5–2 h de análise/prova por cláusula sem correspondência, agrupada por contrato/consumidor; não somar estas faixas como projetos independentes. Implementação indeterminada até localizar lacuna.",,,
RF-CLU-002,"Relacionar o cluster com projectos, oportunidades, actores e territórios.",upgrade v4 SHA f0b9815…; p. 513; requirements-audit.csv,oportunidades,/api/v1/business-opportunities; /api/v1/business-opportunities/{slug}; /investidor/terra-duat; /investidor/terra-duat/novo; /investidor/terra-duat/{id}; /investidor/terra-duat/{id}/actualizacoes; /investidor/terra-duat/{id}/documentos; /investidor/terra-duat/{id}/documentos/{attachment}; /investidor/terra-duat/{id}/editar; /investidor/terra-duat/{id}/imprimir; /investidor/terra-duat/{id}/solicitar-apoio; /management/opportunities,"OpportunityManagement, OpportunityCanonicalContract/Response, OpportunityReviewMateriality, PortalProfileAccess, OpportunityResources. Capacidade existente associada ao domínio; correspondência integral desta cláusula só quando demonstrada na prova individual.","Ativo investemoz:5432, 295 tabelas, COUNTRY02/030000/040000 instalados; seis categorias e administração habilitadas. Leitura atual não demonstra esta cláusula individual. Legado, percurso integrado, modulares/ofertas e notificações desabilitados. | 16/10/2026 — disponibilização autorizada de negocios-classificacao-QA-53311df2f59c: 11 fontes e 161 ficheiros de build entregues; sem migrations, grants, classificações reais ou divulgação. Catálogo público mantém zero negócios e seis oportunidades. Suplemento de compilação para repor InvesteMoz no título preparado apenas em QA, pendente de decisão. | 16/10/2026 — fecho operacional consolidado: negocios-classificacao-QA-53311df2f59c e suplemento de nome negocios-compilacao-nome-QA-7ef0facd0e27 autorizados e entregues: mesmas 11 fontes, 161 build, título InvesteMoz observado. Sem escrita de negócio/classificação/divulgação.",outputs/investmoz-audit-current-20261012/runtime-active.json; runtime-qa18445.json. Inventário/GET do domínio não demonstra esta cláusula individual.,Sem evidência suficiente,Reconciliar contrato/cláusula e provas por categoria; completar apenas falha/variante executável identificada. Response normativo não é completo. Critério individual original preservado; cobertura atual ainda não individualizada.,"030000→040000 já instalados; contratos/resources existentes, sessão/MFA, ClamD e worker para ficheiros; gates das seis categorias ON. Variantes modulares/offers continuam separadas. Nenhuma nova decisão identificada para reconciliar/demonstrar esta cláusula. Decisões específicas só após localizar a regra correspondente.","RF-CLU-002: As relações com projectos, negócios, empresas âncora, PME, fornecedores, compradores, financiadores, reguladores e instituições indicam papel, prioridade, período e estado, sem duplicar os registos de origem e com navegação nos dois sentidos.",P1,RF-CLU-002: Relatório 25/09 conservado; estado histórico não promove conclusão,RF-CLU-002,1,"[{""id"":""RF-CLU-002"",""pedido"":""Relacionar o cluster com projectos, oportunidades, actores e territórios."",""fontes"":[""upgrade v4 SHA f0b9815…; p. 513; requirements-audit.csv""],""aceitacao"":""As relações com projectos, negócios, empresas âncora, PME, fornecedores, compradores, financiadores, reguladores e instituições indicam papel, prioridade, período e estado, sem duplicar os registos de origem e com navegação nos dois sentidos."",""estado"":""parcial"",""variantes"":""Relatório 25/09 conservado; estado histórico não promove conclusão"",""modulo"":""oportunidades""}]",Não demonstrado individualmente; localizar critério e executar em QA.,Não demonstrado individualmente; localizar critério e executar em QA.,Não demonstrado individualmente; localizar critério e executar em QA.,Não demonstrado individualmente; localizar critério e executar em QA.,Não demonstrado individualmente; localizar critério e executar em QA.,Texto exatamente equivalente no mesmo módulo; sem fusão semântica aproximada,parcial,public.opportunities: 6 registos; public.opportunity_images: tabela ausente; public.opportunity_documents: tabela ausente; public.opportunity_location_drafts: tabela ausente,"A evidência existente é do domínio ou uma declaração histórica; não identifica a demonstração integral desta cláusula. Não afirmar implementado/parcial apenas por componente, menu ou teste global. | 15/10/2026 — incremento de classificação multidimensional em QA: Relações tipadas de uma oportunidade com cluster, projeto e território recuperadas; múltiplos atores empresariais não cadastrados nem inventados. | 15/10/2026 — Tempo autorizou e foi disponibilizada a candidata classificacao-multidimensional-QA-64ab05e20b95 DOC01: 17 fontes/174 build, backup/restauro fresco, cache de dados preservada e reversão compatível. Recorte parcial; restantes limites conservados. | 16/10/2026 — negocios-classificacao-QA-53311df2f59c, exclusivamente QA: Associação tipada com cluster e recuperação do mesmo anúncio demonstradas; múltiplos atores e navegação bidirecional integral não foram demonstrados neste recorte. | 16/10/2026 — disponibilização autorizada de negocios-classificacao-QA-53311df2f59c: Backup/restauro fresco 295 tabelas/31 sequências/2341 ficheiros/29 documentos; clone arrancou em leitura. Conferência operacional de GET/assets e área privada pela conta 2, sem guardar. Dados, papéis e histórico iguais; não encerra a cláusula integral.","Reconciliar contrato/cláusula e provas por categoria; completar apenas falha/variante executável identificada. Response normativo não é completo. Critério individual original preservado; cobertura atual ainda não individualizada. | Disponibilização DOC01 executada. Limitação operacional concreta: Editor no ativo: não demonstrado nesta conferência. O utilizador informou não ter acesso à conta de Promotora interna Aurora Chachuaio. A sessão efetiva Osmane Nala, conta 2, recebeu 403 em GET /minhas-oportunidades/create; não existe elevação operacional ativa. Os papéis Promotor/Validador dessa conta permanecem atribuídos; as funções de autorização v1 conferem exatamente com a versão anterior à entrega. Existem seis oportunidades legadas e nenhuma do workflow de promotor no ativo. A mensagem 403 genérica não expõe o motivo; o diagnóstico fica registado, sem alterar permissões, credenciais ou acrescentar uma correção fora do pacote autorizado. Mantêm-se as provas funcionais QA aceites do editor.; limites do critério integral: Relações tipadas de uma oportunidade com cluster, projeto e território recuperadas; múltiplos atores empresariais não cadastrados nem inventados. | 16/10/2026 — negocios-classificacao-QA-53311df2f59c, exclusivamente QA: Recorte QA concluído; disponibilização deste incremento exige decisão específica. Associação tipada com cluster e recuperação do mesmo anúncio demonstradas; múltiplos atores e navegação bidirecional integral não foram demonstrados neste recorte. As quatro outras lacunas conservam o seu estado; provas aceites não se repetem. | 16/10/2026 — disponibilização autorizada de negocios-classificacao-QA-53311df2f59c: Recuperação UUID no ativo não observada: conta 2 sem anúncio próprio; dois rascunhos pertencem a outro titular. Não criar dados nem alargar acesso para preencher esta limitação. Cadeia sem caso positivo, sem ensaio volumétrico e limite do payload sintético da reversão mantêm-se. Outras quatro lacunas inalteradas.","OpportunityManagement, OpportunityCanonicalContract/Response, OpportunityReviewMateriality, PortalProfileAccess, OpportunityResources","030000→040000 já instalados; contratos/resources existentes, sessão/MFA, ClamD e worker para ficheiros; gates das seis categorias ON. Variantes modulares/offers continuam separadas.","Nenhuma nova decisão identificada para reconciliar/demonstrar esta cláusula. Decisões específicas só após localizar a regra correspondente. | 16/10/2026 — disponibilização autorizada de negocios-classificacao-QA-53311df2f59c: A autorização base foi executada. Suplemento negocios-compilacao-nome-QA-7ef0facd0e27, zero fontes/161 build para título InvesteMoz, aguarda autorização específica por ter novos hashes de build. Não reabrir QA funcional aceite. | 16/10/2026 — fecho operacional consolidado: Autorizações base e do suplemento executadas. Saldo operacional zero. Não classificar anúncios reais nem divulgar relações. Limites QA e ausência de UUID próprio para observação no ativo conservados; outras quatro lacunas inalteradas.",Incremento parcial disponibilizado; aceitação QA preservada e lacunas integrais delimitadas,"Estimativa partilhada no lote correspondente de visao-consolidada-modulos.md; não somar por linha/cláusula/campo. Grupo: oportunidades. Esforço de código adicional só após lacuna reproduzida. | 16/10/2026 — negocios-classificacao-QA-53311df2f59c, exclusivamente QA: 10–16 h era a estimativa inicial agora executada neste recorte. Saldo QA zero para a cobertura demonstrada. Operação futura estimada 90–180 min após autorização, partilhada pelo lote, não somar por requisito.",outputs/investmoz-audit-current-20261012/runtime-active.json; runtime-qa18445.json. Inventário/GET do domínio não demonstra esta cláusula individual. | outputs/investmoz-classificacao-multidimensional-QA-20261015/RELATORIO-QA.md; HTTP-DELTA-QA.json (44); SERVICOS-DELTA-QA.json (22); REVERSAO-COMPAT-QA.json (6); INTERFACE-QA.json | outputs/investmoz-classificacao-ativacao-20261015/RELATORIO-ENTREGA.md; RECIBO-FINAL.json; FRESH-BACKUP.json; ARRANQUE-CLONE-RESTAURADO.json; FONTES-COMPILACAO.json; HTTP-AFTER.json; PRESERVACAO-AFTER.json; INTERFACE-OPERACIONAL.json | outputs/investmoz-negocios-classificacao-QA-20261016/RELATORIO-QA.md; HTTP-QA.json (36/50 HTTP); SCOPES-QA.json (10); INTERFACE-QA.json; REVERSAO-APOS-EDICAO-ANTERIOR.json; PRESERVACAO-FINAL.json; MANIFESTO.json | outputs/investmoz-negocios-classificacao-ativacao-20261016/RELATORIO-ENTREGA.md; AUTORIZACAO-TEMPO.json; FRESH-BACKUP.json; ARRANQUE-CLONE-RESTAURADO.json; TROCA.json; HTTP-AFTER.json; PRESERVACAO-APOS-AUTENTICACAO.json; INTERFACE-OPERACIONAL.json; RECIBO-FINAL.json | outputs/investmoz-negocios-classificacao-ativacao-20261016/RELATORIO-FINAL.md; AUTORIZACAO-EXTENSAO-NOME.json; FRESH-BACKUP-NOME.json; ARRANQUE-CLONE-NOME.json; TROCA-NOME.json; HTTP-APOS-NOME.json; PRESERVACAO-APOS-NOME.json; INTERFACE-NOME-ATIVO.json; RECIBO-CONSOLIDADO.json,oportunidades,12/10/2026 — reconciliação e HTTP; nova inspeção visual bloqueada, | management_draft.canonical.relations/enterprise_size; workflow_context.classification_decisions/publication.classification/canonical_items; mestres existentes por ID; sem migrations. | /negocios: existing_business_revisions.snapshot.context.multidimensional; mesmo UUID e payload principal intacto; decisões por relação/evidência; snapshot de divulgação separado.," | Recuperação noutra sessão, nove relações/quatro dimensões, evidência/decisão por hash, exclusão privada, filtros/map matched_count, reversão compatível. Publicação é fixture sintético; transição editorial aceite não repetida. | Clone principal publicado/v26, referência publicada/v12 intacta; recuperação/validação/divulgação e filtros dirigidos; edição posterior pelo código anterior preserva o suplemento; ver relatório para fixture secundário sintético.",Verificar individualmente este critério no contrato e percurso aplicável; a matriz inicial conserva texto/fonte sem o promover a aceitação.,"QA de UI quando browser disponível; reutilizar o domínio existente. Dados/decisões específicos no backlog, sem segunda validação de fonte oficial.",app/Services/OpportunityManagement.php; app/Services/OpportunityResources.php; resources/js/pages/management/opportunity-draft.tsx — componentes do domínio encontrados; correspondência integral deste requisito não presumida,"OpportunityManagementTest, OpportunityResourcesTest, OpportunityOriginReviewTest; suite global QA e GET por perfil disponíveis. Evidência do domínio não demonstra integralmente esta cláusula; UI individual pendente.",Não demonstrado individualmente; localizar critério e executar em QA.,,,,"0,5–2 h de análise/prova por cláusula sem correspondência, agrupada por contrato/consumidor; não somar estas faixas como projetos independentes. Implementação indeterminada até localizar lacuna.",,,
-RF-CLU-003,Representar a cadeia de valor e identificar lacunas de investimento.,upgrade v4 SHA f0b9815…; p. 517; requirements-audit.csv,cartografia/relações,/api/v1/geo/drafts; /api/v1/geo/search; /api/v1/geo/sources; /api/v1/geo/sources/{id}/transitions; /api/v1/geo/territories; /api/v1/geo/territories/{id}; /api/v1/geo/territories/{id}/transitions; /api/v1/geo/territories/{type}/{id}; /api/v1/geo/{collection}; /api/v1/investment/compare; /api/v1/investment/export; /api/v1/investment/favourites/{id},"InvestmentGeography, campos TerritoryFields/ProvinceSelect, geo_locations/geo_geometries e importador autenticado. Capacidade existente associada ao domínio; correspondência integral desta cláusula só quando demonstrada na prova individual.","Ativo investemoz:5432, 295 tabelas, COUNTRY02/030000/040000 instalados; seis categorias e administração habilitadas. Leitura atual não demonstra esta cláusula individual. Legado, percurso integrado, modulares/ofertas e notificações desabilitados. | 16/10/2026 — disponibilização autorizada de negocios-classificacao-QA-53311df2f59c: 11 fontes e 161 ficheiros de build entregues; sem migrations, grants, classificações reais ou divulgação. Catálogo público mantém zero negócios e seis oportunidades. Suplemento de compilação para repor InvesteMoz no título preparado apenas em QA, pendente de decisão. | 16/10/2026 — fecho operacional consolidado: negocios-classificacao-QA-53311df2f59c e suplemento de nome negocios-compilacao-nome-QA-7ef0facd0e27 autorizados e entregues: mesmas 11 fontes, 161 build, título InvesteMoz observado. Sem escrita de negócio/classificação/divulgação.",outputs/investmoz-audit-current-20261012/runtime-active.json; runtime-qa18445.json. Inventário/GET do domínio não demonstra esta cláusula individual.,Sem evidência suficiente,"Demonstrar consumidor: pesquisar→selecionar→gravar→nova sessão→renderizar limite correto; conservar pai, código e fonte. Critério individual original preservado; cobertura atual ainda não individualizada.","QA408/581INE; ativo0geometrias;173correspondências por nome/edição/pai, Mandie ambíguo. Publicação é ação separada. Nenhuma nova decisão identificada para reconciliar/demonstrar esta cláusula. Decisões específicas só após localizar a regra correspondente.","RF-CLU-003: O cluster apresenta fornecimento, produção, transformação, logística, comercialização, serviços e mercados; cada lacuna possui localização, capacidade necessária, justificação, estado e chamada para acção.",P2,RF-CLU-003: Relatório 25/09 conservado; estado histórico não promove conclusão,RF-CLU-003,1,"[{""id"":""RF-CLU-003"",""pedido"":""Representar a cadeia de valor e identificar lacunas de investimento."",""fontes"":[""upgrade v4 SHA f0b9815…; p. 517; requirements-audit.csv""],""aceitacao"":""O cluster apresenta fornecimento, produção, transformação, logística, comercialização, serviços e mercados; cada lacuna possui localização, capacidade necessária, justificação, estado e chamada para acção."",""estado"":""parcial"",""variantes"":""Relatório 25/09 conservado; estado histórico não promove conclusão"",""modulo"":""cartografia/relações""}]",Não demonstrado individualmente; localizar critério e executar em QA.,Não demonstrado individualmente; localizar critério e executar em QA.,Não demonstrado individualmente; localizar critério e executar em QA.,Não demonstrado individualmente; localizar critério e executar em QA.,Não demonstrado individualmente; localizar critério e executar em QA.,Texto exatamente equivalente no mesmo módulo; sem fusão semântica aproximada,parcial,public.geo_locations: 1990 registos; public.geo_geometries: 0 registos; public.project_locations: 28 registos; public.cluster_projects: 13 registos; public.opportunity_projects: 0 registos; public.opportunity_clusters: 0 registos,"A evidência existente é do domínio ou uma declaração histórica; não identifica a demonstração integral desta cláusula. Não afirmar implementado/parcial apenas por componente, menu ou teste global. | 15/10/2026 — incremento de classificação multidimensional em QA: Vínculo à cadeia existente e etapa documentada disponíveis; cenário têxtil apenas sintético, sem empresas ou capacidades reais. Identificação económica integral de lacunas não demonstrada. | 15/10/2026 — Tempo autorizou e foi disponibilizada a candidata classificacao-multidimensional-QA-64ab05e20b95 DOC01: 17 fontes/174 build, backup/restauro fresco, cache de dados preservada e reversão compatível. Recorte parcial; restantes limites conservados. | 16/10/2026 — negocios-classificacao-QA-53311df2f59c, exclusivamente QA: Preparação do contrato/filtro de cadeia disponível; caso positivo não demonstrado porque não existe cadeia consultável na QA. Cadeia integral e lacunas de investimento continuam abertas. | 16/10/2026 — disponibilização autorizada de negocios-classificacao-QA-53311df2f59c: Backup/restauro fresco 295 tabelas/31 sequências/2341 ficheiros/29 documentos; clone arrancou em leitura. Conferência operacional de GET/assets e área privada pela conta 2, sem guardar. Dados, papéis e histórico iguais; não encerra a cláusula integral. | 16/10/2026 — mapa prévio de referências económicas, QA sem implementação: Leitura READ ONLY de dois clones: destino restaurado com 12 setores/6 raízes editoriais/8 clusters/zero elos e ligações; QA aceite tem ainda três níveis sintéticos em setores distintos. UNIQUE economic_activities_sector_uq impede várias atividades por setor; escolha técnica, não regra identificada da Tempo. Fontes oficiais aceites preservadas, sem revalidação. | 16/10/2026 — DOC01 do mapa económico, revisão documental sem autorização de execução: 600 versus 579 é divergência documental a reconciliar, não escolha arbitrária da Tempo. Recomendações recebidas: limitar QA aos cinco nós do exemplar por hash/versão; divisão 01 como subsector e 01120 como atividade com cinco níveis; CLU-01 como modelo editorial. Não se declara conformidade normativa integral nem execução/aceitação QA.
+RF-CLU-003,Representar a cadeia de valor e identificar lacunas de investimento.,"upgrade v4 SHA f0b9815…; p. 517; requirements-audit.csv Pedido expresso da Tempo, 23/10/2026, nesta retoma: corrigir integração de complementos no percurso actual, com identidade, cadeia de valor, localização e relações documentadas.",cartografia/relações,/api/v1/geo/drafts; /api/v1/geo/search; /api/v1/geo/sources; /api/v1/geo/sources/{id}/transitions; /api/v1/geo/territories; /api/v1/geo/territories/{id}; /api/v1/geo/territories/{id}/transitions; /api/v1/geo/territories/{type}/{id}; /api/v1/geo/{collection}; /api/v1/investment/compare; /api/v1/investment/export; /api/v1/investment/favourites/{id},"InvestmentGeography, campos TerritoryFields/ProvinceSelect, geo_locations/geo_geometries e importador autenticado. Capacidade existente associada ao domínio; correspondência integral desta cláusula só quando demonstrada na prova individual.","Ativo investemoz:5432, 295 tabelas, COUNTRY02/030000/040000 instalados; seis categorias e administração habilitadas. Leitura atual não demonstra esta cláusula individual. Legado, percurso integrado, modulares/ofertas e notificações desabilitados. | 16/10/2026 — disponibilização autorizada de negocios-classificacao-QA-53311df2f59c: 11 fontes e 161 ficheiros de build entregues; sem migrations, grants, classificações reais ou divulgação. Catálogo público mantém zero negócios e seis oportunidades. Suplemento de compilação para repor InvesteMoz no título preparado apenas em QA, pendente de decisão. | 16/10/2026 — fecho operacional consolidado: negocios-classificacao-QA-53311df2f59c e suplemento de nome negocios-compilacao-nome-QA-7ef0facd0e27 autorizados e entregues: mesmas 11 fontes, 161 build, título InvesteMoz observado. Sem escrita de negócio/classificação/divulgação.",outputs/investmoz-audit-current-20261012/runtime-active.json; runtime-qa18445.json. Inventário/GET do domínio não demonstra esta cláusula individual.,Sem evidência suficiente,"Demonstrar consumidor: pesquisar→selecionar→gravar→nova sessão→renderizar limite correto; conservar pai, código e fonte. Critério individual original preservado; cobertura atual ainda não individualizada.","QA408/581INE; ativo0geometrias;173correspondências por nome/edição/pai, Mandie ambíguo. Publicação é ação separada. Nenhuma nova decisão identificada para reconciliar/demonstrar esta cláusula. Decisões específicas só após localizar a regra correspondente.","RF-CLU-003: O cluster apresenta fornecimento, produção, transformação, logística, comercialização, serviços e mercados; cada lacuna possui localização, capacidade necessária, justificação, estado e chamada para acção.",P2,RF-CLU-003: Relatório 25/09 conservado; estado histórico não promove conclusão,RF-CLU-003,1,"[{""id"":""RF-CLU-003"",""pedido"":""Representar a cadeia de valor e identificar lacunas de investimento."",""fontes"":[""upgrade v4 SHA f0b9815…; p. 517; requirements-audit.csv""],""aceitacao"":""O cluster apresenta fornecimento, produção, transformação, logística, comercialização, serviços e mercados; cada lacuna possui localização, capacidade necessária, justificação, estado e chamada para acção."",""estado"":""parcial"",""variantes"":""Relatório 25/09 conservado; estado histórico não promove conclusão"",""modulo"":""cartografia/relações""}]",Não demonstrado individualmente; localizar critério e executar em QA.,Não demonstrado individualmente; localizar critério e executar em QA.,Não demonstrado individualmente; localizar critério e executar em QA.,Não demonstrado individualmente; localizar critério e executar em QA.,Não demonstrado individualmente; localizar critério e executar em QA.,Texto exatamente equivalente no mesmo módulo; sem fusão semântica aproximada,parcial,public.geo_locations: 1990 registos; public.geo_geometries: 0 registos; public.project_locations: 28 registos; public.cluster_projects: 13 registos; public.opportunity_projects: 0 registos; public.opportunity_clusters: 0 registos,"A evidência existente é do domínio ou uma declaração histórica; não identifica a demonstração integral desta cláusula. Não afirmar implementado/parcial apenas por componente, menu ou teste global. | 15/10/2026 — incremento de classificação multidimensional em QA: Vínculo à cadeia existente e etapa documentada disponíveis; cenário têxtil apenas sintético, sem empresas ou capacidades reais. Identificação económica integral de lacunas não demonstrada. | 15/10/2026 — Tempo autorizou e foi disponibilizada a candidata classificacao-multidimensional-QA-64ab05e20b95 DOC01: 17 fontes/174 build, backup/restauro fresco, cache de dados preservada e reversão compatível. Recorte parcial; restantes limites conservados. | 16/10/2026 — negocios-classificacao-QA-53311df2f59c, exclusivamente QA: Preparação do contrato/filtro de cadeia disponível; caso positivo não demonstrado porque não existe cadeia consultável na QA. Cadeia integral e lacunas de investimento continuam abertas. | 16/10/2026 — disponibilização autorizada de negocios-classificacao-QA-53311df2f59c: Backup/restauro fresco 295 tabelas/31 sequências/2341 ficheiros/29 documentos; clone arrancou em leitura. Conferência operacional de GET/assets e área privada pela conta 2, sem guardar. Dados, papéis e histórico iguais; não encerra a cláusula integral. | 16/10/2026 — mapa prévio de referências económicas, QA sem implementação: Leitura READ ONLY de dois clones: destino restaurado com 12 setores/6 raízes editoriais/8 clusters/zero elos e ligações; QA aceite tem ainda três níveis sintéticos em setores distintos. UNIQUE economic_activities_sector_uq impede várias atividades por setor; escolha técnica, não regra identificada da Tempo. Fontes oficiais aceites preservadas, sem revalidação. | 16/10/2026 — DOC01 do mapa económico, revisão documental sem autorização de execução: 600 versus 579 é divergência documental a reconciliar, não escolha arbitrária da Tempo. Recomendações recebidas: limitar QA aos cinco nós do exemplar por hash/versão; divisão 01 como subsector e 01120 como atividade com cinco níveis; CLU-01 como modelo editorial. Não se declara conformidade normativa integral nem execução/aceitação QA.
[RECONCILIACAO-43-20261019] 4: Gestão /management/economic-references/lot-01 ainda exige gate global. Catálogo restante requer reconciliação por identidade/edição e lote, não inferência por contagens.","Demonstrar consumidor: pesquisar→selecionar→gravar→nova sessão→renderizar limite correto; conservar pai, código e fonte. Critério individual original preservado; cobertura atual ainda não individualizada. | Disponibilização DOC01 executada. Limitação operacional concreta: Editor no ativo: não demonstrado nesta conferência. O utilizador informou não ter acesso à conta de Promotora interna Aurora Chachuaio. A sessão efetiva Osmane Nala, conta 2, recebeu 403 em GET /minhas-oportunidades/create; não existe elevação operacional ativa. Os papéis Promotor/Validador dessa conta permanecem atribuídos; as funções de autorização v1 conferem exatamente com a versão anterior à entrega. Existem seis oportunidades legadas e nenhuma do workflow de promotor no ativo. A mensagem 403 genérica não expõe o motivo; o diagnóstico fica registado, sem alterar permissões, credenciais ou acrescentar uma correção fora do pacote autorizado. Mantêm-se as provas funcionais QA aceites do editor.; limites do critério integral: Vínculo à cadeia existente e etapa documentada disponíveis; cenário têxtil apenas sintético, sem empresas ou capacidades reais. Identificação económica integral de lacunas não demonstrada. | 16/10/2026 — negocios-classificacao-QA-53311df2f59c, exclusivamente QA: Recorte QA concluído; disponibilização deste incremento exige decisão específica. Preparação do contrato/filtro de cadeia disponível; caso positivo não demonstrado porque não existe cadeia consultável na QA. Cadeia integral e lacunas de investimento continuam abertas. As quatro outras lacunas conservam o seu estado; provas aceites não se repetem. | 16/10/2026 — disponibilização autorizada de negocios-classificacao-QA-53311df2f59c: Recuperação UUID no ativo não observada: conta 2 sem anúncio próprio; dois rascunhos pertencem a outro titular. Não criar dados nem alargar acesso para preencher esta limitação. Cadeia sem caso positivo, sem ensaio volumétrico e limite do payload sintético da reversão mantêm-se. Outras quatro lacunas inalteradas. | 16/10/2026 — mapa prévio de referências económicas, QA sem implementação: Preparar manifesto fechado, adaptar cardinalidade/hierarquia sem copiar mestres, demonstrar preview/idempotência/recusas e caso positivo de cadeia nos dois consumidores; recuperação, decisão independente, divulgação expressa, filtros AND e reversão após edição pelo código anterior com compatibilidade. Nada demonstrado/encerrado por este mapa. | 16/10/2026 — DOC01 do mapa económico, revisão documental sem autorização de execução: Implementação/provas funcionais e operacionais apenas após decisão QA. Incluir HTTP com esquema ausente, importação privada, publicação e retirada distintas, recusas de identidade/MFA/CSRF/hash, replay/concorrência e motivos visíveis. Reversão após uso é parcial e compatível: schema/dados, seis fontes funcionais, manifesto e build de compatibilidade coerente permanecem; provar edição posterior. Caso positivo de cadeia segue pendente nos dois consumidores.
[UTILIZACAO-HOMOLOGACAO-20261019] 4: Disponibilidade condicionada conforme limite registado — 11 actividades presentes; cinco novas referências transportadas. Activação/publicação do lote não executada.
-[UTILIZACAO-HOMOLOGACAO-20261019] Correcção por leitura:11 actividades já published, sem nova activação necessária; cobertura integral e cálculos separados.","InvestmentGeography, campos TerritoryFields/ProvinceSelect, geo_locations/geo_geometries e importador autenticado | 16/10/2026 — mapa prévio de referências económicas, QA sem implementação: sectors, reference_catalog_versions, economic_activities, economic_clusters, value_chains/value_chain_links, opções/decisão/projeção canónicas e suplemento /negocios existentes. UUID de referência publicado/v12 e restantes classificações intactos.","QA408/581INE; ativo0geometrias;173correspondências por nome/edição/pai, Mandie ambíguo. Publicação é ação separada. | 16/10/2026 — mapa prévio de referências económicas, QA sem implementação: Folhas eBAU: 1360 códigos em cinco níveis; duas cópias de hashes diferentes com as mesmas 8145 células. 600 subclasses versus 579 no roteiro; edição da folha não determinada. Convenções divisão 01/subclasse 01120 e cinco elos editoriais do CLU-01 propostas para decisão. Não associar por nomes. | 16/10/2026 — DOC01 do mapa económico, revisão documental sem autorização de execução: Caminho operacional desenhado desde já por extensão autenticada do padrão existente: prévia e POST separados de esquema/importação privada/publicação/retirada; ator da sessão, autorização efetiva, MFA concluído, CSRF, hashes, scan, idempotência e backup/restauro fresco. Ainda não implementado/instalado; não deixado para depois da aceitação. Não alterar instaladores de B/COUNTRY02 ou importador documental.","Nenhuma nova decisão identificada para reconciliar/demonstrar esta cláusula. Decisões específicas só após localizar a regra correspondente. | 16/10/2026 — disponibilização autorizada de negocios-classificacao-QA-53311df2f59c: A autorização base foi executada. Suplemento negocios-compilacao-nome-QA-7ef0facd0e27, zero fontes/161 build para título InvesteMoz, aguarda autorização específica por ter novos hashes de build. Não reabrir QA funcional aceite. | 16/10/2026 — fecho operacional consolidado: Autorizações base e do suplemento executadas. Saldo operacional zero. Não classificar anúncios reais nem divulgar relações. Limites QA e ausência de UUID próprio para observação no ativo conservados; outras quatro lacunas inalteradas. | 16/10/2026 — mapa prévio de referências económicas, QA sem implementação: Proposto um catálogo de origem na mesma estrutura, cinco nós A/01/011/0112/01120, cinco elos e quatro ligações; 15 registos de referência, sem alterar raízes/associações existentes. Ativo fora do âmbito. Parques a seguir; duplicados e regulação Fintech separados. /negocios concluído no âmbito reportado; observação UUID ativa não demonstrada e não bloqueante; anexos dessa disponibilização não conferidos pela Tempo. | 16/10/2026 — DOC01 do mapa económico, revisão documental sem autorização de execução: Recomendações não constituem autorização. Proposta QA revista inclui 12 artefactos (dez fontes/uma migration/um manifesto), quatro fontes adicionais para resolver a operação autenticada, compilação e dois instrumentos QA. Lote mantém 15 referências; zero alterações a mestres/classificações existentes. Ativo separado.",Incremento parcial disponibilizado; aceitação QA preservada e lacunas integrais delimitadas,"Estimativa partilhada no lote correspondente de visao-consolidada-modulos.md; não somar por linha/cláusula/campo. Grupo: território. Esforço de código adicional só após lacuna reproduzida. | 16/10/2026 — negocios-classificacao-QA-53311df2f59c, exclusivamente QA: 10–16 h era a estimativa inicial agora executada neste recorte. Saldo QA zero para a cobertura demonstrada. Operação futura estimada 90–180 min após autorização, partilhada pelo lote, não somar por requisito. | 16/10/2026 — mapa prévio de referências económicas, QA sem implementação: QA restante 12–18 h: manifesto 2–3; schema/preview/importação 2–3; adaptador/apresentação 3–4; provas/reversão 4–6; documentação/recibo 1–2. Exclui decisão, importação integral e disponibilização ativa. | 16/10/2026 — DOC01 do mapa económico, revisão documental sem autorização de execução: 12–18 h eram QA funcional; +2–4 h para implementar/provar o caminho operacional em QA, total QA revisto 14–22 h. Disponibilização futura 2–4 h separadas, incluindo backup/restauro fresco, condicionada a decisão própria. Sem tempo executado ou consentimento inferidos. | QA01: preparação deste recorte concluída, saldo QA zero. Estimativa original 12–18 h funcionais, +2–4 h operacionais DOC01 =14–22 h, sem aumento adicional pelo ficheiro de compatibilidade. Disponibilização futura 2–4 h separadas, dependente de autorização, janela e backup/restauro fresco. | ATIVO01: saldo operacional deste lote zero. Estimativa anterior de disponibilização 2–4 h arquivada como previsão, não horas consumidas; não foi ensaio funcional repetido. Lotes económicos posteriores, parques, duplicados e Fintech exigem delimitação própria.","outputs/investmoz-audit-current-20261012/runtime-active.json; runtime-qa18445.json. Inventário/GET do domínio não demonstra esta cláusula individual. | outputs/investmoz-classificacao-multidimensional-QA-20261015/RELATORIO-QA.md; HTTP-DELTA-QA.json (44); SERVICOS-DELTA-QA.json (22); REVERSAO-COMPAT-QA.json (6); INTERFACE-QA.json | outputs/investmoz-classificacao-ativacao-20261015/RELATORIO-ENTREGA.md; RECIBO-FINAL.json; FRESH-BACKUP.json; ARRANQUE-CLONE-RESTAURADO.json; FONTES-COMPILACAO.json; HTTP-AFTER.json; PRESERVACAO-AFTER.json; INTERFACE-OPERACIONAL.json | outputs/investmoz-negocios-classificacao-QA-20261016/RELATORIO-QA.md; HTTP-QA.json (36/50 HTTP); SCOPES-QA.json (10); INTERFACE-QA.json; REVERSAO-APOS-EDICAO-ANTERIOR.json; PRESERVACAO-FINAL.json; MANIFESTO.json | outputs/investmoz-negocios-classificacao-ativacao-20261016/RELATORIO-ENTREGA.md; AUTORIZACAO-TEMPO.json; FRESH-BACKUP.json; ARRANQUE-CLONE-RESTAURADO.json; TROCA.json; HTTP-AFTER.json; PRESERVACAO-APOS-AUTENTICACAO.json; INTERFACE-OPERACIONAL.json; RECIBO-FINAL.json | outputs/investmoz-negocios-classificacao-ativacao-20261016/RELATORIO-FINAL.md; AUTORIZACAO-EXTENSAO-NOME.json; FRESH-BACKUP-NOME.json; ARRANQUE-CLONE-NOME.json; TROCA-NOME.json; HTTP-APOS-NOME.json; PRESERVACAO-APOS-NOME.json; INTERFACE-NOME-ATIVO.json; RECIBO-CONSOLIDADO.json | outputs/investmoz-referencias-economicas-mapa-20261016/MAPA-LOTE-MINIMO.md; ESTADO-QA-READONLY.json; DEPENDENCIAS-QA-READONLY.json; INVENTARIO-ACERVO.json; CAE-ESTRUTURA.json; LOTE-PROPOSTO.json; FONTES-E-DELTA-PREVISTO.json. Inspeção e planeamento, não aceitação funcional. | outputs/investmoz-referencias-economicas-mapa-20261016/DOC01/MAPA-LOTE-MINIMO.md; DESENHO-OPERACIONAL.md; LOTE-PROPOSTO.json; INSPECAO-MECANISMO-EXISTENTE.json; ENQUADRAMENTO-RECOMENDACOES.json. Revisão de desenho/documentos, sem novo teste ou ligação à base ativa. | 16/10/2026 QA01 referencias-economicas-QA-966202f15577: ramo A/01/011/0112/01120 e cinco elos editoriais CLU-01 demonstrados em clone isolado, com caso positivo de atividade/cadeia nos consumidores canónico e /negocios, filtros, recuperação, confirmação independente e divulgação expressa. Preview, instalação nominal autenticada, importação privada, scan real, repetição, publicação/retirada e reversão compatível demonstrados. Provas: outputs/investmoz-referencias-economicas-QA-20261016/para-revisao/RELATORIO-QA.md; HTTP-QA.json; REVERSAO-QA.json; PRESERVACAO-QA.json. Ativo não alterado; original publicado/v12 preservado. Cinco etapas editoriais e quatro ligações com UUID, origem e versão preservados; sem consolidação comercial. | 16/10/2026 ATIVO01 referencias-economicas-QA-966202f15577: disponibilização autorizada e concluída no recorte. 13 artefactos, build de 162 ficheiros, migration nominal via sessão real da conta 2, importação privada das 15 ausências e publicação expressa separada, ClamAV real limpo. Repetição recuperou o mesmo recibo sem duplicação. Backup fresco/restauro isolado e arranque em leitura verificados. API pública recupera cinco níveis; catálogo anterior igual. Comparação de 295 tabelas sem diferenças inesperadas de negócio/histórico; B, COUNTRY02, permissões e documentos preservados. Evidência: outputs/investmoz-referencias-economicas-ativacao-20261016/para-revisao/RELATORIO-FINAL.md; PRESERVACAO-FINAL.json; HTTP-PUBLISHED.json. | Homologação teste-investidor 19/10/2026: Referências económicas — lote mínimo=Ausente. Saldo derivado e limites em outputs/investmoz-disponibilizacao-integral-20261019/SALDO-E-ACTUALIZACAO-CONSOLIDADA.md. Não substitui estado/provas do activo; trecho documental encerrado, vínculo dossier aberto. | Proposta integral fdcb31f1b5b9: aplicação activa local completa + R2/DOC01/destino reconciliados; schema/build/recuperação de contexto e reversão de apresentação ensaiados no clone isolado. Não instalado remotamente. Inc. QA territoriais/Inhambane/programas separados. Limites e decisões em outputs/investmoz-disponibilizacao-integral-20261019/PROPOSTA-INTEGRAL-PARA-DECISAO.md. | Execução autorizada fdcb31f1b5b9 concluída em teste-investidor: Referências económicas — lote mínimo=Instalado mas desabilitado. 1080 hashes iguais, schema171/88, custódia/scan/recuperação reais. Sem publicação ou papéis novos. Vínculo dossier legítimo pendente; incrementos QA separados. Limites em outputs/investmoz-disponibilizacao-integral-20261019/RESULTADO-DISPONIBILIZACAO-INTEGRAL.md; não encerra critérios globais não demonstrados.
+[UTILIZACAO-HOMOLOGACAO-20261019] Correcção por leitura:11 actividades já published, sem nova activação necessária; cobertura integral e cálculos separados. Delta de complementos preparado/verificado em QA; conferência visual e instalação no destino ainda não realizadas. Relações sem oferta identificada permanecem necessidades, sem presumir inexistência no acervo. Cobertura transversal e restantes pendências desta linha mantêm-se. Actualização visual 23/10/2026: supera apenas a pendência visual dos complementos no recorte documentado. Não demonstra contextos específicos de várias oportunidades em zonas/parques, Terra/DUAT, Balcão ou manifestação. Sem disponibilização no destino nem fecho global.","InvestmentGeography, campos TerritoryFields/ProvinceSelect, geo_locations/geo_geometries e importador autenticado | 16/10/2026 — mapa prévio de referências económicas, QA sem implementação: sectors, reference_catalog_versions, economic_activities, economic_clusters, value_chains/value_chain_links, opções/decisão/projeção canónicas e suplemento /negocios existentes. UUID de referência publicado/v12 e restantes classificações intactos.","QA408/581INE; ativo0geometrias;173correspondências por nome/edição/pai, Mandie ambíguo. Publicação é ação separada. | 16/10/2026 — mapa prévio de referências económicas, QA sem implementação: Folhas eBAU: 1360 códigos em cinco níveis; duas cópias de hashes diferentes com as mesmas 8145 células. 600 subclasses versus 579 no roteiro; edição da folha não determinada. Convenções divisão 01/subclasse 01120 e cinco elos editoriais do CLU-01 propostas para decisão. Não associar por nomes. | 16/10/2026 — DOC01 do mapa económico, revisão documental sem autorização de execução: Caminho operacional desenhado desde já por extensão autenticada do padrão existente: prévia e POST separados de esquema/importação privada/publicação/retirada; ator da sessão, autorização efetiva, MFA concluído, CSRF, hashes, scan, idempotência e backup/restauro fresco. Ainda não implementado/instalado; não deixado para depois da aceitação. Não alterar instaladores de B/COUNTRY02 ou importador documental.","Nenhuma nova decisão identificada para reconciliar/demonstrar esta cláusula. Decisões específicas só após localizar a regra correspondente. | 16/10/2026 — disponibilização autorizada de negocios-classificacao-QA-53311df2f59c: A autorização base foi executada. Suplemento negocios-compilacao-nome-QA-7ef0facd0e27, zero fontes/161 build para título InvesteMoz, aguarda autorização específica por ter novos hashes de build. Não reabrir QA funcional aceite. | 16/10/2026 — fecho operacional consolidado: Autorizações base e do suplemento executadas. Saldo operacional zero. Não classificar anúncios reais nem divulgar relações. Limites QA e ausência de UUID próprio para observação no ativo conservados; outras quatro lacunas inalteradas. | 16/10/2026 — mapa prévio de referências económicas, QA sem implementação: Proposto um catálogo de origem na mesma estrutura, cinco nós A/01/011/0112/01120, cinco elos e quatro ligações; 15 registos de referência, sem alterar raízes/associações existentes. Ativo fora do âmbito. Parques a seguir; duplicados e regulação Fintech separados. /negocios concluído no âmbito reportado; observação UUID ativa não demonstrada e não bloqueante; anexos dessa disponibilização não conferidos pela Tempo. | 16/10/2026 — DOC01 do mapa económico, revisão documental sem autorização de execução: Recomendações não constituem autorização. Proposta QA revista inclui 12 artefactos (dez fontes/uma migration/um manifesto), quatro fontes adicionais para resolver a operação autenticada, compilação e dois instrumentos QA. Lote mantém 15 referências; zero alterações a mestres/classificações existentes. Ativo separado.",Incremento parcial disponibilizado; aceitação QA preservada e lacunas integrais delimitadas,"Estimativa partilhada no lote correspondente de visao-consolidada-modulos.md; não somar por linha/cláusula/campo. Grupo: território. Esforço de código adicional só após lacuna reproduzida. | 16/10/2026 — negocios-classificacao-QA-53311df2f59c, exclusivamente QA: 10–16 h era a estimativa inicial agora executada neste recorte. Saldo QA zero para a cobertura demonstrada. Operação futura estimada 90–180 min após autorização, partilhada pelo lote, não somar por requisito. | 16/10/2026 — mapa prévio de referências económicas, QA sem implementação: QA restante 12–18 h: manifesto 2–3; schema/preview/importação 2–3; adaptador/apresentação 3–4; provas/reversão 4–6; documentação/recibo 1–2. Exclui decisão, importação integral e disponibilização ativa. | 16/10/2026 — DOC01 do mapa económico, revisão documental sem autorização de execução: 12–18 h eram QA funcional; +2–4 h para implementar/provar o caminho operacional em QA, total QA revisto 14–22 h. Disponibilização futura 2–4 h separadas, incluindo backup/restauro fresco, condicionada a decisão própria. Sem tempo executado ou consentimento inferidos. | QA01: preparação deste recorte concluída, saldo QA zero. Estimativa original 12–18 h funcionais, +2–4 h operacionais DOC01 =14–22 h, sem aumento adicional pelo ficheiro de compatibilidade. Disponibilização futura 2–4 h separadas, dependente de autorização, janela e backup/restauro fresco. | ATIVO01: saldo operacional deste lote zero. Estimativa anterior de disponibilização 2–4 h arquivada como previsão, não horas consumidas; não foi ensaio funcional repetido. Lotes económicos posteriores, parques, duplicados e Fintech exigem delimitação própria.","outputs/investmoz-audit-current-20261012/runtime-active.json; runtime-qa18445.json. Inventário/GET do domínio não demonstra esta cláusula individual. | outputs/investmoz-classificacao-multidimensional-QA-20261015/RELATORIO-QA.md; HTTP-DELTA-QA.json (44); SERVICOS-DELTA-QA.json (22); REVERSAO-COMPAT-QA.json (6); INTERFACE-QA.json | outputs/investmoz-classificacao-ativacao-20261015/RELATORIO-ENTREGA.md; RECIBO-FINAL.json; FRESH-BACKUP.json; ARRANQUE-CLONE-RESTAURADO.json; FONTES-COMPILACAO.json; HTTP-AFTER.json; PRESERVACAO-AFTER.json; INTERFACE-OPERACIONAL.json | outputs/investmoz-negocios-classificacao-QA-20261016/RELATORIO-QA.md; HTTP-QA.json (36/50 HTTP); SCOPES-QA.json (10); INTERFACE-QA.json; REVERSAO-APOS-EDICAO-ANTERIOR.json; PRESERVACAO-FINAL.json; MANIFESTO.json | outputs/investmoz-negocios-classificacao-ativacao-20261016/RELATORIO-ENTREGA.md; AUTORIZACAO-TEMPO.json; FRESH-BACKUP.json; ARRANQUE-CLONE-RESTAURADO.json; TROCA.json; HTTP-AFTER.json; PRESERVACAO-APOS-AUTENTICACAO.json; INTERFACE-OPERACIONAL.json; RECIBO-FINAL.json | outputs/investmoz-negocios-classificacao-ativacao-20261016/RELATORIO-FINAL.md; AUTORIZACAO-EXTENSAO-NOME.json; FRESH-BACKUP-NOME.json; ARRANQUE-CLONE-NOME.json; TROCA-NOME.json; HTTP-APOS-NOME.json; PRESERVACAO-APOS-NOME.json; INTERFACE-NOME-ATIVO.json; RECIBO-CONSOLIDADO.json | outputs/investmoz-referencias-economicas-mapa-20261016/MAPA-LOTE-MINIMO.md; ESTADO-QA-READONLY.json; DEPENDENCIAS-QA-READONLY.json; INVENTARIO-ACERVO.json; CAE-ESTRUTURA.json; LOTE-PROPOSTO.json; FONTES-E-DELTA-PREVISTO.json. Inspeção e planeamento, não aceitação funcional. | outputs/investmoz-referencias-economicas-mapa-20261016/DOC01/MAPA-LOTE-MINIMO.md; DESENHO-OPERACIONAL.md; LOTE-PROPOSTO.json; INSPECAO-MECANISMO-EXISTENTE.json; ENQUADRAMENTO-RECOMENDACOES.json. Revisão de desenho/documentos, sem novo teste ou ligação à base ativa. | 16/10/2026 QA01 referencias-economicas-QA-966202f15577: ramo A/01/011/0112/01120 e cinco elos editoriais CLU-01 demonstrados em clone isolado, com caso positivo de atividade/cadeia nos consumidores canónico e /negocios, filtros, recuperação, confirmação independente e divulgação expressa. Preview, instalação nominal autenticada, importação privada, scan real, repetição, publicação/retirada e reversão compatível demonstrados. Provas: outputs/investmoz-referencias-economicas-QA-20261016/para-revisao/RELATORIO-QA.md; HTTP-QA.json; REVERSAO-QA.json; PRESERVACAO-QA.json. Ativo não alterado; original publicado/v12 preservado. Cinco etapas editoriais e quatro ligações com UUID, origem e versão preservados; sem consolidação comercial. | 16/10/2026 ATIVO01 referencias-economicas-QA-966202f15577: disponibilização autorizada e concluída no recorte. 13 artefactos, build de 162 ficheiros, migration nominal via sessão real da conta 2, importação privada das 15 ausências e publicação expressa separada, ClamAV real limpo. Repetição recuperou o mesmo recibo sem duplicação. Backup fresco/restauro isolado e arranque em leitura verificados. API pública recupera cinco níveis; catálogo anterior igual. Comparação de 295 tabelas sem diferenças inesperadas de negócio/histórico; B, COUNTRY02, permissões e documentos preservados. Evidência: outputs/investmoz-referencias-economicas-ativacao-20261016/para-revisao/RELATORIO-FINAL.md; PRESERVACAO-FINAL.json; HTTP-PUBLISHED.json. | Homologação teste-investidor 19/10/2026: Referências económicas — lote mínimo=Ausente. Saldo derivado e limites em outputs/investmoz-disponibilizacao-integral-20261019/SALDO-E-ACTUALIZACAO-CONSOLIDADA.md. Não substitui estado/provas do activo; trecho documental encerrado, vínculo dossier aberto. | Proposta integral fdcb31f1b5b9: aplicação activa local completa + R2/DOC01/destino reconciliados; schema/build/recuperação de contexto e reversão de apresentação ensaiados no clone isolado. Não instalado remotamente. Inc. QA territoriais/Inhambane/programas separados. Limites e decisões em outputs/investmoz-disponibilizacao-integral-20261019/PROPOSTA-INTEGRAL-PARA-DECISAO.md. | Execução autorizada fdcb31f1b5b9 concluída em teste-investidor: Referências económicas — lote mínimo=Instalado mas desabilitado. 1080 hashes iguais, schema171/88, custódia/scan/recuperação reais. Sem publicação ou papéis novos. Vínculo dossier legítimo pendente; incrementos QA separados. Limites em outputs/investmoz-disponibilizacao-integral-20261019/RESULTADO-DISPONIBILIZACAO-INTEGRAL.md; não encerra critérios globais não demonstrados.
[UTILIZACAO-HOMOLOGACAO-20261019] Leitura nominal de contas/recursos no destino; saldo18/10; prévia29 sem escrita; comparação de hashes QA separados. outputs/investmoz-disponibilizacao-integral-20261019/UTILIZACAO-EFECTIVA-HOMOLOGACAO.md
@@ -53,7 +53,7 @@ RF-CLU-003,Representar a cadeia de valor e identificar lacunas de investimento.,
[Executável c11a0c74766c] P3 staging privado completo; P4 nominal destino real 27 refs/25 territórios, zero geometrias. Pré-condições fontes conferidas; pacote para decisão, não aplicado. Reversão após uso só manifesto/build, backend e dados retidos. Adaptador ensaiado só em clone: rollback/recuperação após commit e repetição sem duplicações; aplicação 56 fontes inalterada. Acesso público e diferenças visuais/login continuam abertos. Saldo remoto delimitado 4–7 h; sem alterações remotas.
[Executável 82dab3719ffc] P3 staging privado completo; P4 nominal destino real 27 refs/25 territórios, zero geometrias. Pré-condições fontes conferidas; pacote para decisão, não aplicado. Reversão após uso só manifesto/build, backend e dados retidos. Adaptador ensaiado só em clone: rollback/recuperação após commit e repetição sem duplicações; aplicação 56 fontes inalterada. Acesso público e diferenças visuais/login continuam abertos. Saldo remoto delimitado 4–7 h; sem alterações remotas.
[Executável 312965f2c653] P3 staging privado completo; P4 nominal destino real 27 refs/25 territórios, zero geometrias. Pré-condições fontes conferidas; pacote para decisão, não aplicado. Reversão após uso só manifesto/build, backend e dados retidos. Adaptador ensaiado só em clone: rollback/recuperação após commit e repetição sem duplicações; aplicação 56 fontes inalterada. Acesso público e diferenças visuais/login continuam abertos. Saldo remoto delimitado 4–7 h; sem alterações remotas.
-[Homologação 312965f2c653 executada] Autorização Tempo; 30 fichas privadas/30 locais/31 suportes/11 relações/2 originais e 2 definições internas, 233 caminhos conferidos. Dados anteriores/permissões preservados; zero publicação/migrations/geometrias/P7. Saldo delimitado de execução concluído. Dossier legítimo, oito lacunas e questões de autenticação/visual separadas. RECIBO-EXECUCAO-312965.json.",território,12/10/2026 — reconciliação e HTTP; nova inspeção visual bloqueada, | management_draft.canonical.relations/enterprise_size; workflow_context.classification_decisions/publication.classification/canonical_items; mestres existentes por ID; sem migrations. | /negocios: existing_business_revisions.snapshot.context.multidimensional; mesmo UUID e payload principal intacto; decisões por relação/evidência; snapshot de divulgação separado.," | Recuperação noutra sessão, nove relações/quatro dimensões, evidência/decisão por hash, exclusão privada, filtros/map matched_count, reversão compatível. Publicação é fixture sintético; transição editorial aceite não repetida. | Clone principal publicado/v26, referência publicada/v12 intacta; recuperação/validação/divulgação e filtros dirigidos; edição posterior pelo código anterior preserva o suplemento; ver relatório para fixture secundário sintético.",Verificar individualmente este critério no contrato e percurso aplicável; a matriz inicial conserva texto/fonte sem o promover a aceitação.,"QA de UI quando browser disponível; reutilizar o domínio existente. Dados/decisões específicos no backlog, sem segunda validação de fonte oficial.",resources/js/components/investment-territory.tsx; app/Http/Controllers/InvestmentTerritoryController.php — componentes do domínio encontrados; correspondência integral deste requisito não presumida,"InvestmentTerritoryTest, TerritorialRegistryTest, InvestmentTerritorialTraceabilityTest, InvestmentZoneTest; suite global QA e GET por perfil disponíveis. Evidência do domínio não demonstra integralmente esta cláusula; UI individual pendente.",Não demonstrado individualmente; localizar critério e executar em QA.,," | QA01: prova positiva delimitada de atividade/cadeia e operações do lote concluída, conservando as aceitações anteriores e a semântica privada/confirmada/pública. | ATIVO01: instalação/importação/publicação autenticadas, scan, repetição idempotente, recuperação pública do ramo A/01/011/0112/01120 e preservação operacional concluídos. Provas funcionais QA aceites reutilizadas, sem repetição."," | QA01: divergência documental 600/579 e edição normativa abertas; cadeia editorial; publicação canónica com pré-condições sintéticas; save legado transacional; sem volume ou recuperação de payload legado cifrado; reversão parcial com sete fontes funcionais. Sem decisão ativa presumida. | ATIVO01: não encerra CAE integral ou divergência 600/579/edição normativa; cadeia exclusivamente editorial. Nenhuma classificação ou relação de investimento real alterada/divulgada. Limites QA anteriores e reversão parcial compatível mantidos; editor UUID ativo de /negocios continua não demonstrado e não bloqueante. Parques, duplicados e regulação Fintech separados.","0,5–2 h de análise/prova por cláusula sem correspondência, agrupada por contrato/consumidor; não somar estas faixas como projetos independentes. Implementação indeterminada até localizar lacuna.",,,
+[Homologação 312965f2c653 executada] Autorização Tempo; 30 fichas privadas/30 locais/31 suportes/11 relações/2 originais e 2 definições internas, 233 caminhos conferidos. Dados anteriores/permissões preservados; zero publicação/migrations/geometrias/P7. Saldo delimitado de execução concluído. Dossier legítimo, oito lacunas e questões de autenticação/visual separadas. RECIBO-EXECUCAO-312965.json. 23/10/2026 — Complementos: causa delimitada no campo textual focus e ausência de resolução/selecção complementar; incremento preparado em QA no percurso existente. Fichas/IDs existentes por relações documentadas, necessidades sem oferta, serviços/instrumentos publicados associados à origem, localização por complemento, rascunho/prévia/confirmação/histórico no dossier, apresentação nos quatro formulários e snapshot/linhas de relatório. Provas e limites em docs/investmoz/unification/investment-complements-qa-receipt-20261023.json e secção Complementos ligados ao investimento e ao dossier do manual. Sem instalação/alteração no activo. Não repete 6b544548/4098192a nem encerra aplicação transversal. 23/10/2026 — Conferência visual QA dos complementos concluída no recorte pedido: ficha 286 pela identidade existente; Fiação como necessidade/ideia; serviço sintético QA 17 e frio 310 ligados à segunda oportunidade 309 em Gaza, conservando a primeira 286 em Sofala. Confirmação e recarregamento recuperaram selecção, origem e localização; desconhecidos mantidos Por definir. Dossier sintético 6fdbb963-726e-4048-9884-8cddc04e77a6. Provas: outputs/complements-visual-20261023/; recibo existente investment-complements-qa-receipt-20261023.json actualizado. Serviço e segunda oportunidade são fixtures explícitas, sem alegar oferta real no destino. Homologação inalterada; fechos anteriores não repetidos.",território,12/10/2026 — reconciliação e HTTP; nova inspeção visual bloqueada, | management_draft.canonical.relations/enterprise_size; workflow_context.classification_decisions/publication.classification/canonical_items; mestres existentes por ID; sem migrations. | /negocios: existing_business_revisions.snapshot.context.multidimensional; mesmo UUID e payload principal intacto; decisões por relação/evidência; snapshot de divulgação separado.," | Recuperação noutra sessão, nove relações/quatro dimensões, evidência/decisão por hash, exclusão privada, filtros/map matched_count, reversão compatível. Publicação é fixture sintético; transição editorial aceite não repetida. | Clone principal publicado/v26, referência publicada/v12 intacta; recuperação/validação/divulgação e filtros dirigidos; edição posterior pelo código anterior preserva o suplemento; ver relatório para fixture secundário sintético.",Verificar individualmente este critério no contrato e percurso aplicável; a matriz inicial conserva texto/fonte sem o promover a aceitação.,"QA de UI quando browser disponível; reutilizar o domínio existente. Dados/decisões específicos no backlog, sem segunda validação de fonte oficial.",resources/js/components/investment-territory.tsx; app/Http/Controllers/InvestmentTerritoryController.php — componentes do domínio encontrados; correspondência integral deste requisito não presumida,"InvestmentTerritoryTest, TerritorialRegistryTest, InvestmentTerritorialTraceabilityTest, InvestmentZoneTest; suite global QA e GET por perfil disponíveis. Evidência do domínio não demonstra integralmente esta cláusula; UI individual pendente.",Não demonstrado individualmente; localizar critério e executar em QA.,," | QA01: prova positiva delimitada de atividade/cadeia e operações do lote concluída, conservando as aceitações anteriores e a semântica privada/confirmada/pública. | ATIVO01: instalação/importação/publicação autenticadas, scan, repetição idempotente, recuperação pública do ramo A/01/011/0112/01120 e preservação operacional concluídos. Provas funcionais QA aceites reutilizadas, sem repetição."," | QA01: divergência documental 600/579 e edição normativa abertas; cadeia editorial; publicação canónica com pré-condições sintéticas; save legado transacional; sem volume ou recuperação de payload legado cifrado; reversão parcial com sete fontes funcionais. Sem decisão ativa presumida. | ATIVO01: não encerra CAE integral ou divergência 600/579/edição normativa; cadeia exclusivamente editorial. Nenhuma classificação ou relação de investimento real alterada/divulgada. Limites QA anteriores e reversão parcial compatível mantidos; editor UUID ativo de /negocios continua não demonstrado e não bloqueante. Parques, duplicados e regulação Fintech separados.","0,5–2 h de análise/prova por cláusula sem correspondência, agrupada por contrato/consumidor; não somar estas faixas como projetos independentes. Implementação indeterminada até localizar lacuna.",,,
RF-CLU-004,Disponibilizar inteligência territorial e comparação multicritério.,upgrade v4 SHA f0b9815…; p. 521; requirements-audit.csv | portal do investidor\Portal V4\upgrade do portal de investimentos v6 programacao.docx; SHA e1169a7743b13ff6c950d3ffd4672a2afea32e81da84885e11154b7d8de9241e; w:p 546 | portal do investidor\Portal V4\upgrade do portal de investimentos v2.docx; SHA 51b8f0ad3296d1064a5c12b450874fc72640869f10a164319cd7f3153dd3a086; w:p 241 | portal do investidor\Portal V4\upgrade do portal de investimentos v5 programacao.docx; SHA edece80c0519537244f8a8b86456af0aa92de1c526f791bb0ee9b85af7a7e8b2; w:p 546,cartografia/relações,/api/v1/geo/drafts; /api/v1/geo/search; /api/v1/geo/sources; /api/v1/geo/sources/{id}/transitions; /api/v1/geo/territories; /api/v1/geo/territories/{id}; /api/v1/geo/territories/{id}/transitions; /api/v1/geo/territories/{type}/{id}; /api/v1/geo/{collection}; /api/v1/investment/compare; /api/v1/investment/export; /api/v1/investment/favourites/{id},"InvestmentGeography, campos TerritoryFields/ProvinceSelect, geo_locations/geo_geometries e importador autenticado. Capacidade existente associada ao domínio; correspondência integral desta cláusula só quando demonstrada na prova individual.","Ativo investemoz:5432, 295 tabelas, COUNTRY02/030000/040000 instalados; seis categorias e administração habilitadas. Leitura atual não demonstra esta cláusula individual. Legado, percurso integrado, modulares/ofertas e notificações desabilitados.",outputs/investmoz-audit-current-20261012/runtime-active.json; runtime-qa18445.json. Inventário/GET do domínio não demonstra esta cláusula individual.,Sem evidência suficiente,"Demonstrar consumidor: pesquisar→selecionar→gravar→nova sessão→renderizar limite correto; conservar pai, código e fonte. Critério individual original preservado; cobertura atual ainda não individualizada.","QA408/581INE; ativo0geometrias;173correspondências por nome/edição/pai, Mandie ambíguo. Publicação é ação separada. Nenhuma nova decisão identificada para reconciliar/demonstrar esta cláusula. Decisões específicas só após localizar a regra correspondente.","RF-CLU-004: Mapas autorizados mostram projectos, recursos, infra-estruturas, actores e riscos por unidade territorial; comparações usam critérios, período, fonte e limitações uniformes e não constituem garantia. | MASTER-e1169a77-0045: Disponibilizar inteligência territorial e comparação multicritério. | MASTER-51b8f0ad-0025: Disponibilizar inteligência territorial e comparação multicritério. | MASTER-edece80c-0045: Disponibilizar inteligência territorial e comparação multicritério.",P2,RF-CLU-004: Relatório 25/09 conservado; estado histórico não promove conclusão | MASTER-e1169a77-0045: Todas as ocorrências exatas preservadas nas fontes; variantes de texto têm linhas distintas | MASTER-51b8f0ad-0025: Todas as ocorrências exatas preservadas nas fontes; variantes de texto têm linhas distintas | MASTER-edece80c-0045: Todas as ocorrências exatas preservadas nas fontes; variantes de texto têm linhas distintas,RF-CLU-004 | MASTER-e1169a77-0045 | MASTER-51b8f0ad-0025 | MASTER-edece80c-0045,4,"[{""id"":""RF-CLU-004"",""pedido"":""Disponibilizar inteligência territorial e comparação multicritério."",""fontes"":[""upgrade v4 SHA f0b9815…; p. 521; requirements-audit.csv""],""aceitacao"":""Mapas autorizados mostram projectos, recursos, infra-estruturas, actores e riscos por unidade territorial; comparações usam critérios, período, fonte e limitações uniformes e não constituem garantia."",""estado"":""parcial"",""variantes"":""Relatório 25/09 conservado; estado histórico não promove conclusão"",""modulo"":""cartografia/relações""},{""id"":""MASTER-e1169a77-0045"",""pedido"":""Disponibilizar inteligência territorial e comparação multicritério."",""fontes"":[""portal do investidor\\Portal V4\\upgrade do portal de investimentos v6 programacao.docx; SHA e1169a7743b13ff6c950d3ffd4672a2afea32e81da84885e11154b7d8de9241e; w:p 546""],""aceitacao"":""Disponibilizar inteligência territorial e comparação multicritério."",""estado"":""parcial"",""variantes"":""Todas as ocorrências exatas preservadas nas fontes; variantes de texto têm linhas distintas"",""modulo"":""cartografia/relações""},{""id"":""MASTER-51b8f0ad-0025"",""pedido"":""Disponibilizar inteligência territorial e comparação multicritério."",""fontes"":[""portal do investidor\\Portal V4\\upgrade do portal de investimentos v2.docx; SHA 51b8f0ad3296d1064a5c12b450874fc72640869f10a164319cd7f3153dd3a086; w:p 241""],""aceitacao"":""Disponibilizar inteligência territorial e comparação multicritério."",""estado"":""parcial"",""variantes"":""Todas as ocorrências exatas preservadas nas fontes; variantes de texto têm linhas distintas"",""modulo"":""cartografia/relações""},{""id"":""MASTER-edece80c-0045"",""pedido"":""Disponibilizar inteligência territorial e comparação multicritério."",""fontes"":[""portal do investidor\\Portal V4\\upgrade do portal de investimentos v5 programacao.docx; SHA edece80c0519537244f8a8b86456af0aa92de1c526f791bb0ee9b85af7a7e8b2; w:p 546""],""aceitacao"":""Disponibilizar inteligência territorial e comparação multicritério."",""estado"":""parcial"",""variantes"":""Todas as ocorrências exatas preservadas nas fontes; variantes de texto têm linhas distintas"",""modulo"":""cartografia/relações""}]",Não demonstrado individualmente; localizar critério e executar em QA.,Não demonstrado individualmente; localizar critério e executar em QA.,Não demonstrado individualmente; localizar critério e executar em QA.,Não demonstrado individualmente; localizar critério e executar em QA.,Não demonstrado individualmente; localizar critério e executar em QA.,Texto exatamente equivalente no mesmo módulo; sem fusão semântica aproximada,parcial,public.geo_locations: 1990 registos; public.geo_geometries: 0 registos; public.project_locations: 28 registos; public.cluster_projects: 13 registos; public.opportunity_projects: 0 registos; public.opportunity_clusters: 0 registos,"A evidência existente é do domínio ou uma declaração histórica; não identifica a demonstração integral desta cláusula. Não afirmar implementado/parcial apenas por componente, menu ou teste global.","Demonstrar consumidor: pesquisar→selecionar→gravar→nova sessão→renderizar limite correto; conservar pai, código e fonte. Critério individual original preservado; cobertura atual ainda não individualizada.","InvestmentGeography, campos TerritoryFields/ProvinceSelect, geo_locations/geo_geometries e importador autenticado","QA408/581INE; ativo0geometrias;173correspondências por nome/edição/pai, Mandie ambíguo. Publicação é ação separada.",Nenhuma nova decisão identificada para reconciliar/demonstrar esta cláusula. Decisões específicas só após localizar a regra correspondente.,Reconciliação e prova individual antes de estimar alteração,Estimativa partilhada no lote correspondente de visao-consolidada-modulos.md; não somar por linha/cláusula/campo. Grupo: território. Esforço de código adicional só após lacuna reproduzida.,outputs/investmoz-audit-current-20261012/runtime-active.json; runtime-qa18445.json. Inventário/GET do domínio não demonstra esta cláusula individual.,território,12/10/2026 — reconciliação e HTTP; nova inspeção visual bloqueada,,,Verificar individualmente este critério no contrato e percurso aplicável; a matriz inicial conserva texto/fonte sem o promover a aceitação.,"QA de UI quando browser disponível; reutilizar o domínio existente. Dados/decisões específicos no backlog, sem segunda validação de fonte oficial.",resources/js/components/investment-territory.tsx; app/Http/Controllers/InvestmentTerritoryController.php — componentes do domínio encontrados; correspondência integral deste requisito não presumida,"InvestmentTerritoryTest, TerritorialRegistryTest, InvestmentTerritorialTraceabilityTest, InvestmentZoneTest; suite global QA e GET por perfil disponíveis. Evidência do domínio não demonstra integralmente esta cláusula; UI individual pendente.",Não demonstrado individualmente; localizar critério e executar em QA.,,,,"0,5–2 h de análise/prova por cláusula sem correspondência, agrupada por contrato/consumidor; não somar estas faixas como projetos independentes. Implementação indeterminada até localizar lacuna.",,,
RF-CLU-005,Gerir necessidades de financiamento e correspondência com financiadores.,upgrade v4 SHA f0b9815…; p. 525; requirements-audit.csv,cartografia/relações,/api/v1/geo/drafts; /api/v1/geo/search; /api/v1/geo/sources; /api/v1/geo/sources/{id}/transitions; /api/v1/geo/territories; /api/v1/geo/territories/{id}; /api/v1/geo/territories/{id}/transitions; /api/v1/geo/territories/{type}/{id}; /api/v1/geo/{collection}; /api/v1/investment/compare; /api/v1/investment/export; /api/v1/investment/favourites/{id},"InvestmentGeography, campos TerritoryFields/ProvinceSelect, geo_locations/geo_geometries e importador autenticado. Capacidade existente associada ao domínio; correspondência integral desta cláusula só quando demonstrada na prova individual.","Ativo investemoz:5432, 295 tabelas, COUNTRY02/030000/040000 instalados; seis categorias e administração habilitadas. Leitura atual não demonstra esta cláusula individual. Legado, percurso integrado, modulares/ofertas e notificações desabilitados.",outputs/investmoz-audit-current-20261012/runtime-active.json; runtime-qa18445.json. Inventário/GET do domínio não demonstra esta cláusula individual.,Sem evidência suficiente,"Demonstrar consumidor: pesquisar→selecionar→gravar→nova sessão→renderizar limite correto; conservar pai, código e fonte. Critério individual original preservado; cobertura atual ainda não individualizada.","QA408/581INE; ativo0geometrias;173correspondências por nome/edição/pai, Mandie ambíguo. Publicação é ação separada. Nenhuma nova decisão identificada para reconciliar/demonstrar esta cláusula. Decisões específicas só após localizar a regra correspondente.","RF-CLU-005: A necessidade contém elo, fase, instrumento, valor, moeda, beneficiário, finalidade e elegibilidade; o CRM regista correspondências explicáveis e sujeitas a revisão humana.",P2,RF-CLU-005: Relatório 25/09 conservado; estado histórico não promove conclusão,RF-CLU-005,1,"[{""id"":""RF-CLU-005"",""pedido"":""Gerir necessidades de financiamento e correspondência com financiadores."",""fontes"":[""upgrade v4 SHA f0b9815…; p. 525; requirements-audit.csv""],""aceitacao"":""A necessidade contém elo, fase, instrumento, valor, moeda, beneficiário, finalidade e elegibilidade; o CRM regista correspondências explicáveis e sujeitas a revisão humana."",""estado"":""parcial"",""variantes"":""Relatório 25/09 conservado; estado histórico não promove conclusão"",""modulo"":""cartografia/relações""}]",Não demonstrado individualmente; localizar critério e executar em QA.,Não demonstrado individualmente; localizar critério e executar em QA.,Não demonstrado individualmente; localizar critério e executar em QA.,Não demonstrado individualmente; localizar critério e executar em QA.,Não demonstrado individualmente; localizar critério e executar em QA.,Texto exatamente equivalente no mesmo módulo; sem fusão semântica aproximada,parcial,public.geo_locations: 1990 registos; public.geo_geometries: 0 registos; public.project_locations: 28 registos; public.cluster_projects: 13 registos; public.opportunity_projects: 0 registos; public.opportunity_clusters: 0 registos,"A evidência existente é do domínio ou uma declaração histórica; não identifica a demonstração integral desta cláusula. Não afirmar implementado/parcial apenas por componente, menu ou teste global.","Demonstrar consumidor: pesquisar→selecionar→gravar→nova sessão→renderizar limite correto; conservar pai, código e fonte. Critério individual original preservado; cobertura atual ainda não individualizada.","InvestmentGeography, campos TerritoryFields/ProvinceSelect, geo_locations/geo_geometries e importador autenticado","QA408/581INE; ativo0geometrias;173correspondências por nome/edição/pai, Mandie ambíguo. Publicação é ação separada.",Nenhuma nova decisão identificada para reconciliar/demonstrar esta cláusula. Decisões específicas só após localizar a regra correspondente.,Reconciliação e prova individual antes de estimar alteração,Estimativa partilhada no lote correspondente de visao-consolidada-modulos.md; não somar por linha/cláusula/campo. Grupo: território. Esforço de código adicional só após lacuna reproduzida.,outputs/investmoz-audit-current-20261012/runtime-active.json; runtime-qa18445.json. Inventário/GET do domínio não demonstra esta cláusula individual.,território,12/10/2026 — reconciliação e HTTP; nova inspeção visual bloqueada,,,Verificar individualmente este critério no contrato e percurso aplicável; a matriz inicial conserva texto/fonte sem o promover a aceitação.,"QA de UI quando browser disponível; reutilizar o domínio existente. Dados/decisões específicos no backlog, sem segunda validação de fonte oficial.",resources/js/components/investment-territory.tsx; app/Http/Controllers/InvestmentTerritoryController.php — componentes do domínio encontrados; correspondência integral deste requisito não presumida,"InvestmentTerritoryTest, TerritorialRegistryTest, InvestmentTerritorialTraceabilityTest, InvestmentZoneTest; suite global QA e GET por perfil disponíveis. Evidência do domínio não demonstra integralmente esta cláusula; UI individual pendente.",Não demonstrado individualmente; localizar critério e executar em QA.,,,,"0,5–2 h de análise/prova por cláusula sem correspondência, agrupada por contrato/consumidor; não somar estas faixas como projetos independentes. Implementação indeterminada até localizar lacuna.",,,
RF-CLU-006,"Gerir programas, iniciativas, constrangimentos e planos de acção.",upgrade v4 SHA f0b9815…; p. 529; requirements-audit.csv,cartografia/relações,/api/v1/geo/drafts; /api/v1/geo/search; /api/v1/geo/sources; /api/v1/geo/sources/{id}/transitions; /api/v1/geo/territories; /api/v1/geo/territories/{id}; /api/v1/geo/territories/{id}/transitions; /api/v1/geo/territories/{type}/{id}; /api/v1/geo/{collection}; /api/v1/investment/compare; /api/v1/investment/export; /api/v1/investment/favourites/{id},"InvestmentGeography, campos TerritoryFields/ProvinceSelect, geo_locations/geo_geometries e importador autenticado. Capacidade existente associada ao domínio; correspondência integral desta cláusula só quando demonstrada na prova individual.","Ativo investemoz:5432, 295 tabelas, COUNTRY02/030000/040000 instalados; seis categorias e administração habilitadas. Leitura atual não demonstra esta cláusula individual. Legado, percurso integrado, modulares/ofertas e notificações desabilitados.",outputs/investmoz-audit-current-20261012/runtime-active.json; runtime-qa18445.json. Inventário/GET do domínio não demonstra esta cláusula individual.,Sem evidência suficiente,"Demonstrar consumidor: pesquisar→selecionar→gravar→nova sessão→renderizar limite correto; conservar pai, código e fonte. Critério individual original preservado; cobertura atual ainda não individualizada.","QA408/581INE; ativo0geometrias;173correspondências por nome/edição/pai, Mandie ambíguo. Publicação é ação separada. Nenhuma nova decisão identificada para reconciliar/demonstrar esta cláusula. Decisões específicas só após localizar a regra correspondente.","RF-CLU-006: Cada registo possui objectivo ou problema, território, responsável, parceiros, orçamento, prazo, indicador, dependências, risco, escalonamento, estado e decisão necessária.",P2,RF-CLU-006: Relatório 25/09 conservado; estado histórico não promove conclusão,RF-CLU-006,1,"[{""id"":""RF-CLU-006"",""pedido"":""Gerir programas, iniciativas, constrangimentos e planos de acção."",""fontes"":[""upgrade v4 SHA f0b9815…; p. 529; requirements-audit.csv""],""aceitacao"":""Cada registo possui objectivo ou problema, território, responsável, parceiros, orçamento, prazo, indicador, dependências, risco, escalonamento, estado e decisão necessária."",""estado"":""parcial"",""variantes"":""Relatório 25/09 conservado; estado histórico não promove conclusão"",""modulo"":""cartografia/relações""}]",Não demonstrado individualmente; localizar critério e executar em QA.,Não demonstrado individualmente; localizar critério e executar em QA.,Não demonstrado individualmente; localizar critério e executar em QA.,Não demonstrado individualmente; localizar critério e executar em QA.,Não demonstrado individualmente; localizar critério e executar em QA.,Texto exatamente equivalente no mesmo módulo; sem fusão semântica aproximada,parcial,public.geo_locations: 1990 registos; public.geo_geometries: 0 registos; public.project_locations: 28 registos; public.cluster_projects: 13 registos; public.opportunity_projects: 0 registos; public.opportunity_clusters: 0 registos,"A evidência existente é do domínio ou uma declaração histórica; não identifica a demonstração integral desta cláusula. Não afirmar implementado/parcial apenas por componente, menu ou teste global.","Demonstrar consumidor: pesquisar→selecionar→gravar→nova sessão→renderizar limite correto; conservar pai, código e fonte. Critério individual original preservado; cobertura atual ainda não individualizada.","InvestmentGeography, campos TerritoryFields/ProvinceSelect, geo_locations/geo_geometries e importador autenticado","QA408/581INE; ativo0geometrias;173correspondências por nome/edição/pai, Mandie ambíguo. Publicação é ação separada.",Nenhuma nova decisão identificada para reconciliar/demonstrar esta cláusula. Decisões específicas só após localizar a regra correspondente.,Reconciliação e prova individual antes de estimar alteração,Estimativa partilhada no lote correspondente de visao-consolidada-modulos.md; não somar por linha/cláusula/campo. Grupo: território. Esforço de código adicional só após lacuna reproduzida.,outputs/investmoz-audit-current-20261012/runtime-active.json; runtime-qa18445.json. Inventário/GET do domínio não demonstra esta cláusula individual.,território,12/10/2026 — reconciliação e HTTP; nova inspeção visual bloqueada,,,Verificar individualmente este critério no contrato e percurso aplicável; a matriz inicial conserva texto/fonte sem o promover a aceitação.,"QA de UI quando browser disponível; reutilizar o domínio existente. Dados/decisões específicos no backlog, sem segunda validação de fonte oficial.",resources/js/components/investment-territory.tsx; app/Http/Controllers/InvestmentTerritoryController.php — componentes do domínio encontrados; correspondência integral deste requisito não presumida,"InvestmentTerritoryTest, TerritorialRegistryTest, InvestmentTerritorialTraceabilityTest, InvestmentZoneTest; suite global QA e GET por perfil disponíveis. Evidência do domínio não demonstra integralmente esta cláusula; UI individual pendente.",Não demonstrado individualmente; localizar critério e executar em QA.,,,,"0,5–2 h de análise/prova por cláusula sem correspondência, agrupada por contrato/consumidor; não somar estas faixas como projetos independentes. Implementação indeterminada até localizar lacuna.",,,
@@ -66,7 +66,7 @@ RF-CLU-012,"Disponibilizar APIs, eventos e exportação controlada dos dados de
RF-COR-001,"Administrar corredores, áreas de influência, nós territoriais, versões e estados.",upgrade v4 SHA f0b9815…; p. 819; requirements-audit.csv,cartografia/relações,/api/v1/geo/drafts; /api/v1/geo/search; /api/v1/geo/sources; /api/v1/geo/sources/{id}/transitions; /api/v1/geo/territories; /api/v1/geo/territories/{id}; /api/v1/geo/territories/{id}/transitions; /api/v1/geo/territories/{type}/{id}; /api/v1/geo/{collection}; /api/v1/investment/compare; /api/v1/investment/export; /api/v1/investment/favourites/{id},"InvestmentGeography, campos TerritoryFields/ProvinceSelect, geo_locations/geo_geometries e importador autenticado. Capacidade existente associada ao domínio; correspondência integral desta cláusula só quando demonstrada na prova individual.","Ativo investemoz:5432, 295 tabelas, COUNTRY02/030000/040000 instalados; seis categorias e administração habilitadas. Leitura atual não demonstra esta cláusula individual. Legado, percurso integrado, modulares/ofertas e notificações desabilitados.",outputs/investmoz-audit-current-20261012/runtime-active.json; runtime-qa18445.json. Inventário/GET do domínio não demonstra esta cláusula individual.,Sem evidência suficiente,"Demonstrar consumidor: pesquisar→selecionar→gravar→nova sessão→renderizar limite correto; conservar pai, código e fonte. Critério individual original preservado; cobertura atual ainda não individualizada.","QA408/581INE; ativo0geometrias;173correspondências por nome/edição/pai, Mandie ambíguo. Publicação é ação separada. Nenhuma nova decisão identificada para reconciliar/demonstrar esta cláusula. Decisões específicas só após localizar a regra correspondente.","RF-COR-001: Cada corredor possui código, visão, coordenador, territórios, geometria, nós, fontes, validade, estado e histórico aprovado.",P2,RF-COR-001: Relatório 25/09 conservado; estado histórico não promove conclusão,RF-COR-001,1,"[{""id"":""RF-COR-001"",""pedido"":""Administrar corredores, áreas de influência, nós territoriais, versões e estados."",""fontes"":[""upgrade v4 SHA f0b9815…; p. 819; requirements-audit.csv""],""aceitacao"":""Cada corredor possui código, visão, coordenador, territórios, geometria, nós, fontes, validade, estado e histórico aprovado."",""estado"":""parcial"",""variantes"":""Relatório 25/09 conservado; estado histórico não promove conclusão"",""modulo"":""cartografia/relações""}]",Não demonstrado individualmente; localizar critério e executar em QA.,Não demonstrado individualmente; localizar critério e executar em QA.,Não demonstrado individualmente; localizar critério e executar em QA.,Não demonstrado individualmente; localizar critério e executar em QA.,Não demonstrado individualmente; localizar critério e executar em QA.,Texto exatamente equivalente no mesmo módulo; sem fusão semântica aproximada,parcial,public.geo_locations: 1990 registos; public.geo_geometries: 0 registos; public.project_locations: 28 registos; public.cluster_projects: 13 registos; public.opportunity_projects: 0 registos; public.opportunity_clusters: 0 registos,"A evidência existente é do domínio ou uma declaração histórica; não identifica a demonstração integral desta cláusula. Não afirmar implementado/parcial apenas por componente, menu ou teste global.","Demonstrar consumidor: pesquisar→selecionar→gravar→nova sessão→renderizar limite correto; conservar pai, código e fonte. Critério individual original preservado; cobertura atual ainda não individualizada.","InvestmentGeography, campos TerritoryFields/ProvinceSelect, geo_locations/geo_geometries e importador autenticado","QA408/581INE; ativo0geometrias;173correspondências por nome/edição/pai, Mandie ambíguo. Publicação é ação separada.",Nenhuma nova decisão identificada para reconciliar/demonstrar esta cláusula. Decisões específicas só após localizar a regra correspondente.,Reconciliação e prova individual antes de estimar alteração,Estimativa partilhada no lote correspondente de visao-consolidada-modulos.md; não somar por linha/cláusula/campo. Grupo: território. Esforço de código adicional só após lacuna reproduzida.,outputs/investmoz-audit-current-20261012/runtime-active.json; runtime-qa18445.json. Inventário/GET do domínio não demonstra esta cláusula individual.,território,12/10/2026 — reconciliação e HTTP; nova inspeção visual bloqueada,,,Verificar individualmente este critério no contrato e percurso aplicável; a matriz inicial conserva texto/fonte sem o promover a aceitação.,"QA de UI quando browser disponível; reutilizar o domínio existente. Dados/decisões específicos no backlog, sem segunda validação de fonte oficial.",resources/js/components/investment-territory.tsx; app/Http/Controllers/InvestmentTerritoryController.php — componentes do domínio encontrados; correspondência integral deste requisito não presumida,"InvestmentTerritoryTest, TerritorialRegistryTest, InvestmentTerritorialTraceabilityTest, InvestmentZoneTest; suite global QA e GET por perfil disponíveis. Evidência do domínio não demonstra integralmente esta cláusula; UI individual pendente.",Não demonstrado individualmente; localizar critério e executar em QA.,,,,"0,5–2 h de análise/prova por cláusula sem correspondência, agrupada por contrato/consumidor; não somar estas faixas como projetos independentes. Implementação indeterminada até localizar lacuna.",,,
RF-COR-002,Relacionar corredores com projectos âncora.,upgrade v4 SHA f0b9815…; p. 823; requirements-audit.csv,cartografia/relações,/api/v1/geo/drafts; /api/v1/geo/search; /api/v1/geo/sources; /api/v1/geo/sources/{id}/transitions; /api/v1/geo/territories; /api/v1/geo/territories/{id}; /api/v1/geo/territories/{id}/transitions; /api/v1/geo/territories/{type}/{id}; /api/v1/geo/{collection}; /api/v1/investment/compare; /api/v1/investment/export; /api/v1/investment/favourites/{id},"InvestmentGeography, campos TerritoryFields/ProvinceSelect, geo_locations/geo_geometries e importador autenticado. Capacidade existente associada ao domínio; correspondência integral desta cláusula só quando demonstrada na prova individual.","Ativo investemoz:5432, 295 tabelas, COUNTRY02/030000/040000 instalados; seis categorias e administração habilitadas. Leitura atual não demonstra esta cláusula individual. Legado, percurso integrado, modulares/ofertas e notificações desabilitados.",outputs/investmoz-audit-current-20261012/runtime-active.json; runtime-qa18445.json. Inventário/GET do domínio não demonstra esta cláusula individual.,Sem evidência suficiente,"Demonstrar consumidor: pesquisar→selecionar→gravar→nova sessão→renderizar limite correto; conservar pai, código e fonte. Critério individual original preservado; cobertura atual ainda não individualizada.","QA408/581INE; ativo0geometrias;173correspondências por nome/edição/pai, Mandie ambíguo. Publicação é ação separada. Nenhuma nova decisão identificada para reconciliar/demonstrar esta cláusula. Decisões específicas só após localizar a regra correspondente.","RF-COR-002: Cada projecto âncora indica função, capacidade, território, dependências, clusters beneficiados e fase; um projecto pode servir vários corredores com relação justificada.",P2,RF-COR-002: Relatório 25/09 conservado; estado histórico não promove conclusão,RF-COR-002,1,"[{""id"":""RF-COR-002"",""pedido"":""Relacionar corredores com projectos âncora."",""fontes"":[""upgrade v4 SHA f0b9815…; p. 823; requirements-audit.csv""],""aceitacao"":""Cada projecto âncora indica função, capacidade, território, dependências, clusters beneficiados e fase; um projecto pode servir vários corredores com relação justificada."",""estado"":""parcial"",""variantes"":""Relatório 25/09 conservado; estado histórico não promove conclusão"",""modulo"":""cartografia/relações""}]",Não demonstrado individualmente; localizar critério e executar em QA.,Não demonstrado individualmente; localizar critério e executar em QA.,Não demonstrado individualmente; localizar critério e executar em QA.,Não demonstrado individualmente; localizar critério e executar em QA.,Não demonstrado individualmente; localizar critério e executar em QA.,Texto exatamente equivalente no mesmo módulo; sem fusão semântica aproximada,parcial,public.geo_locations: 1990 registos; public.geo_geometries: 0 registos; public.project_locations: 28 registos; public.cluster_projects: 13 registos; public.opportunity_projects: 0 registos; public.opportunity_clusters: 0 registos,"A evidência existente é do domínio ou uma declaração histórica; não identifica a demonstração integral desta cláusula. Não afirmar implementado/parcial apenas por componente, menu ou teste global.","Demonstrar consumidor: pesquisar→selecionar→gravar→nova sessão→renderizar limite correto; conservar pai, código e fonte. Critério individual original preservado; cobertura atual ainda não individualizada.","InvestmentGeography, campos TerritoryFields/ProvinceSelect, geo_locations/geo_geometries e importador autenticado","QA408/581INE; ativo0geometrias;173correspondências por nome/edição/pai, Mandie ambíguo. Publicação é ação separada.",Nenhuma nova decisão identificada para reconciliar/demonstrar esta cláusula. Decisões específicas só após localizar a regra correspondente.,Reconciliação e prova individual antes de estimar alteração,Estimativa partilhada no lote correspondente de visao-consolidada-modulos.md; não somar por linha/cláusula/campo. Grupo: território. Esforço de código adicional só após lacuna reproduzida.,outputs/investmoz-audit-current-20261012/runtime-active.json; runtime-qa18445.json. Inventário/GET do domínio não demonstra esta cláusula individual.,território,12/10/2026 — reconciliação e HTTP; nova inspeção visual bloqueada,,,Verificar individualmente este critério no contrato e percurso aplicável; a matriz inicial conserva texto/fonte sem o promover a aceitação.,"QA de UI quando browser disponível; reutilizar o domínio existente. Dados/decisões específicos no backlog, sem segunda validação de fonte oficial.",resources/js/components/investment-territory.tsx; app/Http/Controllers/InvestmentTerritoryController.php — componentes do domínio encontrados; correspondência integral deste requisito não presumida,"InvestmentTerritoryTest, TerritorialRegistryTest, InvestmentTerritorialTraceabilityTest, InvestmentZoneTest; suite global QA e GET por perfil disponíveis. Evidência do domínio não demonstra integralmente esta cláusula; UI individual pendente.",Não demonstrado individualmente; localizar critério e executar em QA.,,,,"0,5–2 h de análise/prova por cláusula sem correspondência, agrupada por contrato/consumidor; não somar estas faixas como projetos independentes. Implementação indeterminada até localizar lacuna.",,,
RF-COR-003,Relacionar corredores com clusters e cadeias de valor.,upgrade v4 SHA f0b9815…; p. 827; requirements-audit.csv,cartografia/relações,/api/v1/geo/drafts; /api/v1/geo/search; /api/v1/geo/sources; /api/v1/geo/sources/{id}/transitions; /api/v1/geo/territories; /api/v1/geo/territories/{id}; /api/v1/geo/territories/{id}/transitions; /api/v1/geo/territories/{type}/{id}; /api/v1/geo/{collection}; /api/v1/investment/compare; /api/v1/investment/export; /api/v1/investment/favourites/{id},"InvestmentGeography, campos TerritoryFields/ProvinceSelect, geo_locations/geo_geometries e importador autenticado. Capacidade existente associada ao domínio; correspondência integral desta cláusula só quando demonstrada na prova individual.","Ativo investemoz:5432, 295 tabelas, COUNTRY02/030000/040000 instalados; seis categorias e administração habilitadas. Leitura atual não demonstra esta cláusula individual. Legado, percurso integrado, modulares/ofertas e notificações desabilitados. | 16/10/2026 — disponibilização autorizada de negocios-classificacao-QA-53311df2f59c: 11 fontes e 161 ficheiros de build entregues; sem migrations, grants, classificações reais ou divulgação. Catálogo público mantém zero negócios e seis oportunidades. Suplemento de compilação para repor InvesteMoz no título preparado apenas em QA, pendente de decisão. | 16/10/2026 — fecho operacional consolidado: negocios-classificacao-QA-53311df2f59c e suplemento de nome negocios-compilacao-nome-QA-7ef0facd0e27 autorizados e entregues: mesmas 11 fontes, 161 build, título InvesteMoz observado. Sem escrita de negócio/classificação/divulgação.",outputs/investmoz-audit-current-20261012/runtime-active.json; runtime-qa18445.json. Inventário/GET do domínio não demonstra esta cláusula individual.,Sem evidência suficiente,"Demonstrar consumidor: pesquisar→selecionar→gravar→nova sessão→renderizar limite correto; conservar pai, código e fonte. Critério individual original preservado; cobertura atual ainda não individualizada.","QA408/581INE; ativo0geometrias;173correspondências por nome/edição/pai, Mandie ambíguo. Publicação é ação separada. Nenhuma nova decisão identificada para reconciliar/demonstrar esta cláusula. Decisões específicas só após localizar a regra correspondente.","RF-COR-003: A relação identifica elos suportados, mercados, recursos, infra-estruturas, lacunas, actores e prioridade, sem duplicar o cadastro do cluster.",P2,RF-COR-003: Relatório 25/09 conservado; estado histórico não promove conclusão,RF-COR-003,1,"[{""id"":""RF-COR-003"",""pedido"":""Relacionar corredores com clusters e cadeias de valor."",""fontes"":[""upgrade v4 SHA f0b9815…; p. 827; requirements-audit.csv""],""aceitacao"":""A relação identifica elos suportados, mercados, recursos, infra-estruturas, lacunas, actores e prioridade, sem duplicar o cadastro do cluster."",""estado"":""parcial"",""variantes"":""Relatório 25/09 conservado; estado histórico não promove conclusão"",""modulo"":""cartografia/relações""}]",Não demonstrado individualmente; localizar critério e executar em QA.,Não demonstrado individualmente; localizar critério e executar em QA.,Não demonstrado individualmente; localizar critério e executar em QA.,Não demonstrado individualmente; localizar critério e executar em QA.,Não demonstrado individualmente; localizar critério e executar em QA.,Texto exatamente equivalente no mesmo módulo; sem fusão semântica aproximada,parcial,public.geo_locations: 1990 registos; public.geo_geometries: 0 registos; public.project_locations: 28 registos; public.cluster_projects: 13 registos; public.opportunity_projects: 0 registos; public.opportunity_clusters: 0 registos,"A evidência existente é do domínio ou uma declaração histórica; não identifica a demonstração integral desta cláusula. Não afirmar implementado/parcial apenas por componente, menu ou teste global. | 15/10/2026 — incremento de classificação multidimensional em QA: Oportunidade pode referir corredor e cadeia simultaneamente, sem inferir vínculo mestre corredor-cluster. Relações mestre anteriores preservadas; esta prova não altera nem demonstra novamente todas as relações entre mestres. | 15/10/2026 — Tempo autorizou e foi disponibilizada a candidata classificacao-multidimensional-QA-64ab05e20b95 DOC01: 17 fontes/174 build, backup/restauro fresco, cache de dados preservada e reversão compatível. Recorte parcial; restantes limites conservados. | 16/10/2026 — negocios-classificacao-QA-53311df2f59c, exclusivamente QA: Reutilização das referências e filtros tipados; não demonstra a rede integral de corredores, mercados, atores e prioridades. | 16/10/2026 — disponibilização autorizada de negocios-classificacao-QA-53311df2f59c: Backup/restauro fresco 295 tabelas/31 sequências/2341 ficheiros/29 documentos; clone arrancou em leitura. Conferência operacional de GET/assets e área privada pela conta 2, sem guardar. Dados, papéis e histórico iguais; não encerra a cláusula integral.","Demonstrar consumidor: pesquisar→selecionar→gravar→nova sessão→renderizar limite correto; conservar pai, código e fonte. Critério individual original preservado; cobertura atual ainda não individualizada. | Disponibilização DOC01 executada. Limitação operacional concreta: Editor no ativo: não demonstrado nesta conferência. O utilizador informou não ter acesso à conta de Promotora interna Aurora Chachuaio. A sessão efetiva Osmane Nala, conta 2, recebeu 403 em GET /minhas-oportunidades/create; não existe elevação operacional ativa. Os papéis Promotor/Validador dessa conta permanecem atribuídos; as funções de autorização v1 conferem exatamente com a versão anterior à entrega. Existem seis oportunidades legadas e nenhuma do workflow de promotor no ativo. A mensagem 403 genérica não expõe o motivo; o diagnóstico fica registado, sem alterar permissões, credenciais ou acrescentar uma correção fora do pacote autorizado. Mantêm-se as provas funcionais QA aceites do editor.; limites do critério integral: Oportunidade pode referir corredor e cadeia simultaneamente, sem inferir vínculo mestre corredor-cluster. Relações mestre anteriores preservadas; esta prova não altera nem demonstra novamente todas as relações entre mestres. | 16/10/2026 — negocios-classificacao-QA-53311df2f59c, exclusivamente QA: Recorte QA concluído; disponibilização deste incremento exige decisão específica. Reutilização das referências e filtros tipados; não demonstra a rede integral de corredores, mercados, atores e prioridades. As quatro outras lacunas conservam o seu estado; provas aceites não se repetem. | 16/10/2026 — disponibilização autorizada de negocios-classificacao-QA-53311df2f59c: Recuperação UUID no ativo não observada: conta 2 sem anúncio próprio; dois rascunhos pertencem a outro titular. Não criar dados nem alargar acesso para preencher esta limitação. Cadeia sem caso positivo, sem ensaio volumétrico e limite do payload sintético da reversão mantêm-se. Outras quatro lacunas inalteradas.","InvestmentGeography, campos TerritoryFields/ProvinceSelect, geo_locations/geo_geometries e importador autenticado","QA408/581INE; ativo0geometrias;173correspondências por nome/edição/pai, Mandie ambíguo. Publicação é ação separada.","Nenhuma nova decisão identificada para reconciliar/demonstrar esta cláusula. Decisões específicas só após localizar a regra correspondente. | 16/10/2026 — disponibilização autorizada de negocios-classificacao-QA-53311df2f59c: A autorização base foi executada. Suplemento negocios-compilacao-nome-QA-7ef0facd0e27, zero fontes/161 build para título InvesteMoz, aguarda autorização específica por ter novos hashes de build. Não reabrir QA funcional aceite. | 16/10/2026 — fecho operacional consolidado: Autorizações base e do suplemento executadas. Saldo operacional zero. Não classificar anúncios reais nem divulgar relações. Limites QA e ausência de UUID próprio para observação no ativo conservados; outras quatro lacunas inalteradas.",Incremento parcial disponibilizado; aceitação QA preservada e lacunas integrais delimitadas,"Estimativa partilhada no lote correspondente de visao-consolidada-modulos.md; não somar por linha/cláusula/campo. Grupo: território. Esforço de código adicional só após lacuna reproduzida. | 16/10/2026 — negocios-classificacao-QA-53311df2f59c, exclusivamente QA: 10–16 h era a estimativa inicial agora executada neste recorte. Saldo QA zero para a cobertura demonstrada. Operação futura estimada 90–180 min após autorização, partilhada pelo lote, não somar por requisito.",outputs/investmoz-audit-current-20261012/runtime-active.json; runtime-qa18445.json. Inventário/GET do domínio não demonstra esta cláusula individual. | outputs/investmoz-classificacao-multidimensional-QA-20261015/RELATORIO-QA.md; HTTP-DELTA-QA.json (44); SERVICOS-DELTA-QA.json (22); REVERSAO-COMPAT-QA.json (6); INTERFACE-QA.json | outputs/investmoz-classificacao-ativacao-20261015/RELATORIO-ENTREGA.md; RECIBO-FINAL.json; FRESH-BACKUP.json; ARRANQUE-CLONE-RESTAURADO.json; FONTES-COMPILACAO.json; HTTP-AFTER.json; PRESERVACAO-AFTER.json; INTERFACE-OPERACIONAL.json | outputs/investmoz-negocios-classificacao-QA-20261016/RELATORIO-QA.md; HTTP-QA.json (36/50 HTTP); SCOPES-QA.json (10); INTERFACE-QA.json; REVERSAO-APOS-EDICAO-ANTERIOR.json; PRESERVACAO-FINAL.json; MANIFESTO.json | outputs/investmoz-negocios-classificacao-ativacao-20261016/RELATORIO-ENTREGA.md; AUTORIZACAO-TEMPO.json; FRESH-BACKUP.json; ARRANQUE-CLONE-RESTAURADO.json; TROCA.json; HTTP-AFTER.json; PRESERVACAO-APOS-AUTENTICACAO.json; INTERFACE-OPERACIONAL.json; RECIBO-FINAL.json | outputs/investmoz-negocios-classificacao-ativacao-20261016/RELATORIO-FINAL.md; AUTORIZACAO-EXTENSAO-NOME.json; FRESH-BACKUP-NOME.json; ARRANQUE-CLONE-NOME.json; TROCA-NOME.json; HTTP-APOS-NOME.json; PRESERVACAO-APOS-NOME.json; INTERFACE-NOME-ATIVO.json; RECIBO-CONSOLIDADO.json,território,12/10/2026 — reconciliação e HTTP; nova inspeção visual bloqueada, | management_draft.canonical.relations/enterprise_size; workflow_context.classification_decisions/publication.classification/canonical_items; mestres existentes por ID; sem migrations. | /negocios: existing_business_revisions.snapshot.context.multidimensional; mesmo UUID e payload principal intacto; decisões por relação/evidência; snapshot de divulgação separado.," | Recuperação noutra sessão, nove relações/quatro dimensões, evidência/decisão por hash, exclusão privada, filtros/map matched_count, reversão compatível. Publicação é fixture sintético; transição editorial aceite não repetida. | Clone principal publicado/v26, referência publicada/v12 intacta; recuperação/validação/divulgação e filtros dirigidos; edição posterior pelo código anterior preserva o suplemento; ver relatório para fixture secundário sintético.",Verificar individualmente este critério no contrato e percurso aplicável; a matriz inicial conserva texto/fonte sem o promover a aceitação.,"QA de UI quando browser disponível; reutilizar o domínio existente. Dados/decisões específicos no backlog, sem segunda validação de fonte oficial.",resources/js/components/investment-territory.tsx; app/Http/Controllers/InvestmentTerritoryController.php — componentes do domínio encontrados; correspondência integral deste requisito não presumida,"InvestmentTerritoryTest, TerritorialRegistryTest, InvestmentTerritorialTraceabilityTest, InvestmentZoneTest; suite global QA e GET por perfil disponíveis. Evidência do domínio não demonstra integralmente esta cláusula; UI individual pendente.",Não demonstrado individualmente; localizar critério e executar em QA.,,,,"0,5–2 h de análise/prova por cláusula sem correspondência, agrupada por contrato/consumidor; não somar estas faixas como projetos independentes. Implementação indeterminada até localizar lacuna.",,,
-RF-COR-004,Gerir projectos complementares públicos e privados.,upgrade v4 SHA f0b9815…; p. 831; requirements-audit.csv,cartografia/relações,/api/v1/geo/drafts; /api/v1/geo/search; /api/v1/geo/sources; /api/v1/geo/sources/{id}/transitions; /api/v1/geo/territories; /api/v1/geo/territories/{id}; /api/v1/geo/territories/{id}/transitions; /api/v1/geo/territories/{type}/{id}; /api/v1/geo/{collection}; /api/v1/investment/compare; /api/v1/investment/export; /api/v1/investment/favourites/{id},"InvestmentGeography, campos TerritoryFields/ProvinceSelect, geo_locations/geo_geometries e importador autenticado. Capacidade existente associada ao domínio; correspondência integral desta cláusula só quando demonstrada na prova individual.","Ativo investemoz:5432, 295 tabelas, COUNTRY02/030000/040000 instalados; seis categorias e administração habilitadas. Leitura atual não demonstra esta cláusula individual. Legado, percurso integrado, modulares/ofertas e notificações desabilitados.",outputs/investmoz-audit-current-20261012/runtime-active.json; runtime-qa18445.json. Inventário/GET do domínio não demonstra esta cláusula individual.,Sem evidência suficiente,"Demonstrar consumidor: pesquisar→selecionar→gravar→nova sessão→renderizar limite correto; conservar pai, código e fonte. Critério individual original preservado; cobertura atual ainda não individualizada.","QA408/581INE; ativo0geometrias;173correspondências por nome/edição/pai, Mandie ambíguo. Publicação é ação separada. Nenhuma nova decisão identificada para reconciliar/demonstrar esta cláusula. Decisões específicas só após localizar a regra correspondente.","RF-COR-004: O sistema permite propor, validar, publicar e acompanhar novos projectos ligados ao corredor, projecto âncora, cluster, elo e território.",P2,RF-COR-004: Relatório 25/09 conservado; estado histórico não promove conclusão,RF-COR-004,1,"[{""id"":""RF-COR-004"",""pedido"":""Gerir projectos complementares públicos e privados."",""fontes"":[""upgrade v4 SHA f0b9815…; p. 831; requirements-audit.csv""],""aceitacao"":""O sistema permite propor, validar, publicar e acompanhar novos projectos ligados ao corredor, projecto âncora, cluster, elo e território."",""estado"":""parcial"",""variantes"":""Relatório 25/09 conservado; estado histórico não promove conclusão"",""modulo"":""cartografia/relações""}]",Não demonstrado individualmente; localizar critério e executar em QA.,Não demonstrado individualmente; localizar critério e executar em QA.,Não demonstrado individualmente; localizar critério e executar em QA.,Não demonstrado individualmente; localizar critério e executar em QA.,Não demonstrado individualmente; localizar critério e executar em QA.,Texto exatamente equivalente no mesmo módulo; sem fusão semântica aproximada,parcial,public.geo_locations: 1990 registos; public.geo_geometries: 0 registos; public.project_locations: 28 registos; public.cluster_projects: 13 registos; public.opportunity_projects: 0 registos; public.opportunity_clusters: 0 registos,"A evidência existente é do domínio ou uma declaração histórica; não identifica a demonstração integral desta cláusula. Não afirmar implementado/parcial apenas por componente, menu ou teste global.","Demonstrar consumidor: pesquisar→selecionar→gravar→nova sessão→renderizar limite correto; conservar pai, código e fonte. Critério individual original preservado; cobertura atual ainda não individualizada.","InvestmentGeography, campos TerritoryFields/ProvinceSelect, geo_locations/geo_geometries e importador autenticado","QA408/581INE; ativo0geometrias;173correspondências por nome/edição/pai, Mandie ambíguo. Publicação é ação separada.",Nenhuma nova decisão identificada para reconciliar/demonstrar esta cláusula. Decisões específicas só após localizar a regra correspondente.,Reconciliação e prova individual antes de estimar alteração,Estimativa partilhada no lote correspondente de visao-consolidada-modulos.md; não somar por linha/cláusula/campo. Grupo: território. Esforço de código adicional só após lacuna reproduzida.,outputs/investmoz-audit-current-20261012/runtime-active.json; runtime-qa18445.json. Inventário/GET do domínio não demonstra esta cláusula individual.,território,12/10/2026 — reconciliação e HTTP; nova inspeção visual bloqueada,,,Verificar individualmente este critério no contrato e percurso aplicável; a matriz inicial conserva texto/fonte sem o promover a aceitação.,"QA de UI quando browser disponível; reutilizar o domínio existente. Dados/decisões específicos no backlog, sem segunda validação de fonte oficial.",resources/js/components/investment-territory.tsx; app/Http/Controllers/InvestmentTerritoryController.php — componentes do domínio encontrados; correspondência integral deste requisito não presumida,"InvestmentTerritoryTest, TerritorialRegistryTest, InvestmentTerritorialTraceabilityTest, InvestmentZoneTest; suite global QA e GET por perfil disponíveis. Evidência do domínio não demonstra integralmente esta cláusula; UI individual pendente.",Não demonstrado individualmente; localizar critério e executar em QA.,,,,"0,5–2 h de análise/prova por cláusula sem correspondência, agrupada por contrato/consumidor; não somar estas faixas como projetos independentes. Implementação indeterminada até localizar lacuna.",,,
+RF-COR-004,Gerir projectos complementares públicos e privados.,"upgrade v4 SHA f0b9815…; p. 831; requirements-audit.csv Pedido expresso da Tempo, 23/10/2026, nesta retoma: corrigir integração de complementos no percurso actual, com identidade, cadeia de valor, localização e relações documentadas.",cartografia/relações,/api/v1/geo/drafts; /api/v1/geo/search; /api/v1/geo/sources; /api/v1/geo/sources/{id}/transitions; /api/v1/geo/territories; /api/v1/geo/territories/{id}; /api/v1/geo/territories/{id}/transitions; /api/v1/geo/territories/{type}/{id}; /api/v1/geo/{collection}; /api/v1/investment/compare; /api/v1/investment/export; /api/v1/investment/favourites/{id},"InvestmentGeography, campos TerritoryFields/ProvinceSelect, geo_locations/geo_geometries e importador autenticado. Capacidade existente associada ao domínio; correspondência integral desta cláusula só quando demonstrada na prova individual.","Ativo investemoz:5432, 295 tabelas, COUNTRY02/030000/040000 instalados; seis categorias e administração habilitadas. Leitura atual não demonstra esta cláusula individual. Legado, percurso integrado, modulares/ofertas e notificações desabilitados.",outputs/investmoz-audit-current-20261012/runtime-active.json; runtime-qa18445.json. Inventário/GET do domínio não demonstra esta cláusula individual.,Sem evidência suficiente,"Demonstrar consumidor: pesquisar→selecionar→gravar→nova sessão→renderizar limite correto; conservar pai, código e fonte. Critério individual original preservado; cobertura atual ainda não individualizada.","QA408/581INE; ativo0geometrias;173correspondências por nome/edição/pai, Mandie ambíguo. Publicação é ação separada. Nenhuma nova decisão identificada para reconciliar/demonstrar esta cláusula. Decisões específicas só após localizar a regra correspondente.","RF-COR-004: O sistema permite propor, validar, publicar e acompanhar novos projectos ligados ao corredor, projecto âncora, cluster, elo e território.",P2,RF-COR-004: Relatório 25/09 conservado; estado histórico não promove conclusão,RF-COR-004,1,"[{""id"":""RF-COR-004"",""pedido"":""Gerir projectos complementares públicos e privados."",""fontes"":[""upgrade v4 SHA f0b9815…; p. 831; requirements-audit.csv""],""aceitacao"":""O sistema permite propor, validar, publicar e acompanhar novos projectos ligados ao corredor, projecto âncora, cluster, elo e território."",""estado"":""parcial"",""variantes"":""Relatório 25/09 conservado; estado histórico não promove conclusão"",""modulo"":""cartografia/relações""}]",Não demonstrado individualmente; localizar critério e executar em QA.,Não demonstrado individualmente; localizar critério e executar em QA.,Não demonstrado individualmente; localizar critério e executar em QA.,Não demonstrado individualmente; localizar critério e executar em QA.,Não demonstrado individualmente; localizar critério e executar em QA.,Texto exatamente equivalente no mesmo módulo; sem fusão semântica aproximada,parcial,public.geo_locations: 1990 registos; public.geo_geometries: 0 registos; public.project_locations: 28 registos; public.cluster_projects: 13 registos; public.opportunity_projects: 0 registos; public.opportunity_clusters: 0 registos,"A evidência existente é do domínio ou uma declaração histórica; não identifica a demonstração integral desta cláusula. Não afirmar implementado/parcial apenas por componente, menu ou teste global.","Demonstrar consumidor: pesquisar→selecionar→gravar→nova sessão→renderizar limite correto; conservar pai, código e fonte. Critério individual original preservado; cobertura atual ainda não individualizada. Delta de complementos preparado/verificado em QA; conferência visual e instalação no destino ainda não realizadas. Relações sem oferta identificada permanecem necessidades, sem presumir inexistência no acervo. Cobertura transversal e restantes pendências desta linha mantêm-se. Actualização visual 23/10/2026: supera apenas a pendência visual dos complementos no recorte documentado. Não demonstra contextos específicos de várias oportunidades em zonas/parques, Terra/DUAT, Balcão ou manifestação. Sem disponibilização no destino nem fecho global.","InvestmentGeography, campos TerritoryFields/ProvinceSelect, geo_locations/geo_geometries e importador autenticado","QA408/581INE; ativo0geometrias;173correspondências por nome/edição/pai, Mandie ambíguo. Publicação é ação separada.",Nenhuma nova decisão identificada para reconciliar/demonstrar esta cláusula. Decisões específicas só após localizar a regra correspondente.,Reconciliação e prova individual antes de estimar alteração,Estimativa partilhada no lote correspondente de visao-consolidada-modulos.md; não somar por linha/cláusula/campo. Grupo: território. Esforço de código adicional só após lacuna reproduzida.,"outputs/investmoz-audit-current-20261012/runtime-active.json; runtime-qa18445.json. Inventário/GET do domínio não demonstra esta cláusula individual. 23/10/2026 — Complementos: causa delimitada no campo textual focus e ausência de resolução/selecção complementar; incremento preparado em QA no percurso existente. Fichas/IDs existentes por relações documentadas, necessidades sem oferta, serviços/instrumentos publicados associados à origem, localização por complemento, rascunho/prévia/confirmação/histórico no dossier, apresentação nos quatro formulários e snapshot/linhas de relatório. Provas e limites em docs/investmoz/unification/investment-complements-qa-receipt-20261023.json e secção Complementos ligados ao investimento e ao dossier do manual. Sem instalação/alteração no activo. Não repete 6b544548/4098192a nem encerra aplicação transversal. 23/10/2026 — Conferência visual QA dos complementos concluída no recorte pedido: ficha 286 pela identidade existente; Fiação como necessidade/ideia; serviço sintético QA 17 e frio 310 ligados à segunda oportunidade 309 em Gaza, conservando a primeira 286 em Sofala. Confirmação e recarregamento recuperaram selecção, origem e localização; desconhecidos mantidos Por definir. Dossier sintético 6fdbb963-726e-4048-9884-8cddc04e77a6. Provas: outputs/complements-visual-20261023/; recibo existente investment-complements-qa-receipt-20261023.json actualizado. Serviço e segunda oportunidade são fixtures explícitas, sem alegar oferta real no destino. Homologação inalterada; fechos anteriores não repetidos.",território,12/10/2026 — reconciliação e HTTP; nova inspeção visual bloqueada,,,Verificar individualmente este critério no contrato e percurso aplicável; a matriz inicial conserva texto/fonte sem o promover a aceitação.,"QA de UI quando browser disponível; reutilizar o domínio existente. Dados/decisões específicos no backlog, sem segunda validação de fonte oficial.",resources/js/components/investment-territory.tsx; app/Http/Controllers/InvestmentTerritoryController.php — componentes do domínio encontrados; correspondência integral deste requisito não presumida,"InvestmentTerritoryTest, TerritorialRegistryTest, InvestmentTerritorialTraceabilityTest, InvestmentZoneTest; suite global QA e GET por perfil disponíveis. Evidência do domínio não demonstra integralmente esta cláusula; UI individual pendente.",Não demonstrado individualmente; localizar critério e executar em QA.,,,,"0,5–2 h de análise/prova por cláusula sem correspondência, agrupada por contrato/consumidor; não somar estas faixas como projetos independentes. Implementação indeterminada até localizar lacuna.",,,
RF-COR-005,"Mapear infra-estruturas, capacidade e constrangimentos.",upgrade v4 SHA f0b9815…; p. 835; requirements-audit.csv,cartografia/relações,/api/v1/geo/drafts; /api/v1/geo/search; /api/v1/geo/sources; /api/v1/geo/sources/{id}/transitions; /api/v1/geo/territories; /api/v1/geo/territories/{id}; /api/v1/geo/territories/{id}/transitions; /api/v1/geo/territories/{type}/{id}; /api/v1/geo/{collection}; /api/v1/investment/compare; /api/v1/investment/export; /api/v1/investment/favourites/{id},"InvestmentGeography, campos TerritoryFields/ProvinceSelect, geo_locations/geo_geometries e importador autenticado. Capacidade existente associada ao domínio; correspondência integral desta cláusula só quando demonstrada na prova individual.","Ativo investemoz:5432, 295 tabelas, COUNTRY02/030000/040000 instalados; seis categorias e administração habilitadas. Leitura atual não demonstra esta cláusula individual. Legado, percurso integrado, modulares/ofertas e notificações desabilitados.",outputs/investmoz-audit-current-20261012/runtime-active.json; runtime-qa18445.json. Inventário/GET do domínio não demonstra esta cláusula individual.,Sem evidência suficiente,"Demonstrar consumidor: pesquisar→selecionar→gravar→nova sessão→renderizar limite correto; conservar pai, código e fonte. Critério individual original preservado; cobertura atual ainda não individualizada.","QA408/581INE; ativo0geometrias;173correspondências por nome/edição/pai, Mandie ambíguo. Publicação é ação separada. Nenhuma nova decisão identificada para reconciliar/demonstrar esta cláusula. Decisões específicas só após localizar a regra correspondente.","RF-COR-005: Energia, água, transportes, telecomunicações, armazenagem, fronteiras e serviços apresentam localização, capacidade, utilização, fonte e estado.",P2,RF-COR-005: Relatório 25/09 conservado; estado histórico não promove conclusão,RF-COR-005,1,"[{""id"":""RF-COR-005"",""pedido"":""Mapear infra-estruturas, capacidade e constrangimentos."",""fontes"":[""upgrade v4 SHA f0b9815…; p. 835; requirements-audit.csv""],""aceitacao"":""Energia, água, transportes, telecomunicações, armazenagem, fronteiras e serviços apresentam localização, capacidade, utilização, fonte e estado."",""estado"":""parcial"",""variantes"":""Relatório 25/09 conservado; estado histórico não promove conclusão"",""modulo"":""cartografia/relações""}]",Não demonstrado individualmente; localizar critério e executar em QA.,Não demonstrado individualmente; localizar critério e executar em QA.,Não demonstrado individualmente; localizar critério e executar em QA.,Não demonstrado individualmente; localizar critério e executar em QA.,Não demonstrado individualmente; localizar critério e executar em QA.,Texto exatamente equivalente no mesmo módulo; sem fusão semântica aproximada,parcial,public.geo_locations: 1990 registos; public.geo_geometries: 0 registos; public.project_locations: 28 registos; public.cluster_projects: 13 registos; public.opportunity_projects: 0 registos; public.opportunity_clusters: 0 registos,"A evidência existente é do domínio ou uma declaração histórica; não identifica a demonstração integral desta cláusula. Não afirmar implementado/parcial apenas por componente, menu ou teste global.","Demonstrar consumidor: pesquisar→selecionar→gravar→nova sessão→renderizar limite correto; conservar pai, código e fonte. Critério individual original preservado; cobertura atual ainda não individualizada.","InvestmentGeography, campos TerritoryFields/ProvinceSelect, geo_locations/geo_geometries e importador autenticado","QA408/581INE; ativo0geometrias;173correspondências por nome/edição/pai, Mandie ambíguo. Publicação é ação separada.",Nenhuma nova decisão identificada para reconciliar/demonstrar esta cláusula. Decisões específicas só após localizar a regra correspondente.,Reconciliação e prova individual antes de estimar alteração,Estimativa partilhada no lote correspondente de visao-consolidada-modulos.md; não somar por linha/cláusula/campo. Grupo: território. Esforço de código adicional só após lacuna reproduzida.,outputs/investmoz-audit-current-20261012/runtime-active.json; runtime-qa18445.json. Inventário/GET do domínio não demonstra esta cláusula individual.,território,12/10/2026 — reconciliação e HTTP; nova inspeção visual bloqueada,,,Verificar individualmente este critério no contrato e percurso aplicável; a matriz inicial conserva texto/fonte sem o promover a aceitação.,"QA de UI quando browser disponível; reutilizar o domínio existente. Dados/decisões específicos no backlog, sem segunda validação de fonte oficial.",resources/js/components/investment-territory.tsx; app/Http/Controllers/InvestmentTerritoryController.php — componentes do domínio encontrados; correspondência integral deste requisito não presumida,"InvestmentTerritoryTest, TerritorialRegistryTest, InvestmentTerritorialTraceabilityTest, InvestmentZoneTest; suite global QA e GET por perfil disponíveis. Evidência do domínio não demonstra integralmente esta cláusula; UI individual pendente.",Não demonstrado individualmente; localizar critério e executar em QA.,,,,"0,5–2 h de análise/prova por cláusula sem correspondência, agrupada por contrato/consumidor; não somar estas faixas como projetos independentes. Implementação indeterminada até localizar lacuna.",,,
RF-COR-006,Gerir dependências e sequência de investimentos.,upgrade v4 SHA f0b9815…; p. 839; requirements-audit.csv,cartografia/relações,/api/v1/geo/drafts; /api/v1/geo/search; /api/v1/geo/sources; /api/v1/geo/sources/{id}/transitions; /api/v1/geo/territories; /api/v1/geo/territories/{id}; /api/v1/geo/territories/{id}/transitions; /api/v1/geo/territories/{type}/{id}; /api/v1/geo/{collection}; /api/v1/investment/compare; /api/v1/investment/export; /api/v1/investment/favourites/{id},"InvestmentGeography, campos TerritoryFields/ProvinceSelect, geo_locations/geo_geometries e importador autenticado. Capacidade existente associada ao domínio; correspondência integral desta cláusula só quando demonstrada na prova individual.","Ativo investemoz:5432, 295 tabelas, COUNTRY02/030000/040000 instalados; seis categorias e administração habilitadas. Leitura atual não demonstra esta cláusula individual. Legado, percurso integrado, modulares/ofertas e notificações desabilitados.",outputs/investmoz-audit-current-20261012/runtime-active.json; runtime-qa18445.json. Inventário/GET do domínio não demonstra esta cláusula individual.,Sem evidência suficiente,"Demonstrar consumidor: pesquisar→selecionar→gravar→nova sessão→renderizar limite correto; conservar pai, código e fonte. Critério individual original preservado; cobertura atual ainda não individualizada.","QA408/581INE; ativo0geometrias;173correspondências por nome/edição/pai, Mandie ambíguo. Publicação é ação separada. Nenhuma nova decisão identificada para reconciliar/demonstrar esta cláusula. Decisões específicas só após localizar a regra correspondente.","RF-COR-006: O corredor identifica predecessores, bloqueios, caminho crítico, marcos, responsáveis e data necessária; alteração material recalcula impactos.",P2,RF-COR-006: Relatório 25/09 conservado; estado histórico não promove conclusão,RF-COR-006,1,"[{""id"":""RF-COR-006"",""pedido"":""Gerir dependências e sequência de investimentos."",""fontes"":[""upgrade v4 SHA f0b9815…; p. 839; requirements-audit.csv""],""aceitacao"":""O corredor identifica predecessores, bloqueios, caminho crítico, marcos, responsáveis e data necessária; alteração material recalcula impactos."",""estado"":""parcial"",""variantes"":""Relatório 25/09 conservado; estado histórico não promove conclusão"",""modulo"":""cartografia/relações""}]",Não demonstrado individualmente; localizar critério e executar em QA.,Não demonstrado individualmente; localizar critério e executar em QA.,Não demonstrado individualmente; localizar critério e executar em QA.,Não demonstrado individualmente; localizar critério e executar em QA.,Não demonstrado individualmente; localizar critério e executar em QA.,Texto exatamente equivalente no mesmo módulo; sem fusão semântica aproximada,parcial,public.geo_locations: 1990 registos; public.geo_geometries: 0 registos; public.project_locations: 28 registos; public.cluster_projects: 13 registos; public.opportunity_projects: 0 registos; public.opportunity_clusters: 0 registos,"A evidência existente é do domínio ou uma declaração histórica; não identifica a demonstração integral desta cláusula. Não afirmar implementado/parcial apenas por componente, menu ou teste global.","Demonstrar consumidor: pesquisar→selecionar→gravar→nova sessão→renderizar limite correto; conservar pai, código e fonte. Critério individual original preservado; cobertura atual ainda não individualizada.","InvestmentGeography, campos TerritoryFields/ProvinceSelect, geo_locations/geo_geometries e importador autenticado","QA408/581INE; ativo0geometrias;173correspondências por nome/edição/pai, Mandie ambíguo. Publicação é ação separada.",Nenhuma nova decisão identificada para reconciliar/demonstrar esta cláusula. Decisões específicas só após localizar a regra correspondente.,Reconciliação e prova individual antes de estimar alteração,Estimativa partilhada no lote correspondente de visao-consolidada-modulos.md; não somar por linha/cláusula/campo. Grupo: território. Esforço de código adicional só após lacuna reproduzida.,outputs/investmoz-audit-current-20261012/runtime-active.json; runtime-qa18445.json. Inventário/GET do domínio não demonstra esta cláusula individual.,território,12/10/2026 — reconciliação e HTTP; nova inspeção visual bloqueada,,,Verificar individualmente este critério no contrato e percurso aplicável; a matriz inicial conserva texto/fonte sem o promover a aceitação.,"QA de UI quando browser disponível; reutilizar o domínio existente. Dados/decisões específicos no backlog, sem segunda validação de fonte oficial.",resources/js/components/investment-territory.tsx; app/Http/Controllers/InvestmentTerritoryController.php — componentes do domínio encontrados; correspondência integral deste requisito não presumida,"InvestmentTerritoryTest, TerritorialRegistryTest, InvestmentTerritorialTraceabilityTest, InvestmentZoneTest; suite global QA e GET por perfil disponíveis. Evidência do domínio não demonstra integralmente esta cláusula; UI individual pendente.",Não demonstrado individualmente; localizar critério e executar em QA.,,,,"0,5–2 h de análise/prova por cláusula sem correspondência, agrupada por contrato/consumidor; não somar estas faixas como projetos independentes. Implementação indeterminada até localizar lacuna.",,,
RF-COR-007,Publicar página e dossier do corredor.,upgrade v4 SHA f0b9815…; p. 843; requirements-audit.csv | portal do investidor\Portal V4\upgrade do portal de investimentos v6 programacao.docx; SHA e1169a7743b13ff6c950d3ffd4672a2afea32e81da84885e11154b7d8de9241e; w:p 879 | portal do investidor\Portal V4\upgrade do portal de investimentos v2.docx; SHA 51b8f0ad3296d1064a5c12b450874fc72640869f10a164319cd7f3153dd3a086; w:p 565 | portal do investidor\Portal V4\upgrade do portal de investimentos v5 programacao.docx; SHA edece80c0519537244f8a8b86456af0aa92de1c526f791bb0ee9b85af7a7e8b2; w:p 879,cartografia/relações,/api/v1/geo/drafts; /api/v1/geo/search; /api/v1/geo/sources; /api/v1/geo/sources/{id}/transitions; /api/v1/geo/territories; /api/v1/geo/territories/{id}; /api/v1/geo/territories/{id}/transitions; /api/v1/geo/territories/{type}/{id}; /api/v1/geo/{collection}; /api/v1/investment/compare; /api/v1/investment/export; /api/v1/investment/favourites/{id},"InvestmentGeography, campos TerritoryFields/ProvinceSelect, geo_locations/geo_geometries e importador autenticado. Capacidade existente associada ao domínio; correspondência integral desta cláusula só quando demonstrada na prova individual.","Ativo investemoz:5432, 295 tabelas, COUNTRY02/030000/040000 instalados; seis categorias e administração habilitadas. Leitura atual não demonstra esta cláusula individual. Legado, percurso integrado, modulares/ofertas e notificações desabilitados.",outputs/investmoz-audit-current-20261012/runtime-active.json; runtime-qa18445.json. Inventário/GET do domínio não demonstra esta cláusula individual.,Sem evidência suficiente,"Demonstrar consumidor: pesquisar→selecionar→gravar→nova sessão→renderizar limite correto; conservar pai, código e fonte. Critério individual original preservado; cobertura atual ainda não individualizada.","QA408/581INE; ativo0geometrias;173correspondências por nome/edição/pai, Mandie ambíguo. Publicação é ação separada. Nenhuma nova decisão identificada para reconciliar/demonstrar esta cláusula. Decisões específicas só após localizar a regra correspondente.","RF-COR-007: A página apresenta mapa autorizado, projectos âncora, clusters, oportunidades, infra-estruturas, constrangimentos, investimentos complementares, indicadores e chamada para acção. | MASTER-e1169a77-0064: Publicar página e dossier do corredor. | MASTER-51b8f0ad-0043: Publicar página e dossier do corredor. | MASTER-edece80c-0064: Publicar página e dossier do corredor.",P2,RF-COR-007: Relatório 25/09 conservado; estado histórico não promove conclusão | MASTER-e1169a77-0064: Todas as ocorrências exatas preservadas nas fontes; variantes de texto têm linhas distintas | MASTER-51b8f0ad-0043: Todas as ocorrências exatas preservadas nas fontes; variantes de texto têm linhas distintas | MASTER-edece80c-0064: Todas as ocorrências exatas preservadas nas fontes; variantes de texto têm linhas distintas,RF-COR-007 | MASTER-e1169a77-0064 | MASTER-51b8f0ad-0043 | MASTER-edece80c-0064,4,"[{""id"":""RF-COR-007"",""pedido"":""Publicar página e dossier do corredor."",""fontes"":[""upgrade v4 SHA f0b9815…; p. 843; requirements-audit.csv""],""aceitacao"":""A página apresenta mapa autorizado, projectos âncora, clusters, oportunidades, infra-estruturas, constrangimentos, investimentos complementares, indicadores e chamada para acção."",""estado"":""parcial"",""variantes"":""Relatório 25/09 conservado; estado histórico não promove conclusão"",""modulo"":""cartografia/relações""},{""id"":""MASTER-e1169a77-0064"",""pedido"":""Publicar página e dossier do corredor."",""fontes"":[""portal do investidor\\Portal V4\\upgrade do portal de investimentos v6 programacao.docx; SHA e1169a7743b13ff6c950d3ffd4672a2afea32e81da84885e11154b7d8de9241e; w:p 879""],""aceitacao"":""Publicar página e dossier do corredor."",""estado"":""parcial"",""variantes"":""Todas as ocorrências exatas preservadas nas fontes; variantes de texto têm linhas distintas"",""modulo"":""cartografia/relações""},{""id"":""MASTER-51b8f0ad-0043"",""pedido"":""Publicar página e dossier do corredor."",""fontes"":[""portal do investidor\\Portal V4\\upgrade do portal de investimentos v2.docx; SHA 51b8f0ad3296d1064a5c12b450874fc72640869f10a164319cd7f3153dd3a086; w:p 565""],""aceitacao"":""Publicar página e dossier do corredor."",""estado"":""parcial"",""variantes"":""Todas as ocorrências exatas preservadas nas fontes; variantes de texto têm linhas distintas"",""modulo"":""cartografia/relações""},{""id"":""MASTER-edece80c-0064"",""pedido"":""Publicar página e dossier do corredor."",""fontes"":[""portal do investidor\\Portal V4\\upgrade do portal de investimentos v5 programacao.docx; SHA edece80c0519537244f8a8b86456af0aa92de1c526f791bb0ee9b85af7a7e8b2; w:p 879""],""aceitacao"":""Publicar página e dossier do corredor."",""estado"":""parcial"",""variantes"":""Todas as ocorrências exatas preservadas nas fontes; variantes de texto têm linhas distintas"",""modulo"":""cartografia/relações""}]",Não demonstrado individualmente; localizar critério e executar em QA.,Não demonstrado individualmente; localizar critério e executar em QA.,Não demonstrado individualmente; localizar critério e executar em QA.,Não demonstrado individualmente; localizar critério e executar em QA.,Não demonstrado individualmente; localizar critério e executar em QA.,Texto exatamente equivalente no mesmo módulo; sem fusão semântica aproximada,parcial,public.geo_locations: 1990 registos; public.geo_geometries: 0 registos; public.project_locations: 28 registos; public.cluster_projects: 13 registos; public.opportunity_projects: 0 registos; public.opportunity_clusters: 0 registos,"A evidência existente é do domínio ou uma declaração histórica; não identifica a demonstração integral desta cláusula. Não afirmar implementado/parcial apenas por componente, menu ou teste global.","Demonstrar consumidor: pesquisar→selecionar→gravar→nova sessão→renderizar limite correto; conservar pai, código e fonte. Critério individual original preservado; cobertura atual ainda não individualizada.","InvestmentGeography, campos TerritoryFields/ProvinceSelect, geo_locations/geo_geometries e importador autenticado","QA408/581INE; ativo0geometrias;173correspondências por nome/edição/pai, Mandie ambíguo. Publicação é ação separada.",Nenhuma nova decisão identificada para reconciliar/demonstrar esta cláusula. Decisões específicas só após localizar a regra correspondente.,Reconciliação e prova individual antes de estimar alteração,Estimativa partilhada no lote correspondente de visao-consolidada-modulos.md; não somar por linha/cláusula/campo. Grupo: território. Esforço de código adicional só após lacuna reproduzida.,outputs/investmoz-audit-current-20261012/runtime-active.json; runtime-qa18445.json. Inventário/GET do domínio não demonstra esta cláusula individual.,território,12/10/2026 — reconciliação e HTTP; nova inspeção visual bloqueada,,,Verificar individualmente este critério no contrato e percurso aplicável; a matriz inicial conserva texto/fonte sem o promover a aceitação.,"QA de UI quando browser disponível; reutilizar o domínio existente. Dados/decisões específicos no backlog, sem segunda validação de fonte oficial.",resources/js/components/investment-territory.tsx; app/Http/Controllers/InvestmentTerritoryController.php — componentes do domínio encontrados; correspondência integral deste requisito não presumida,"InvestmentTerritoryTest, TerritorialRegistryTest, InvestmentTerritorialTraceabilityTest, InvestmentZoneTest; suite global QA e GET por perfil disponíveis. Evidência do domínio não demonstra integralmente esta cláusula; UI individual pendente.",Não demonstrado individualmente; localizar critério e executar em QA.,,,,"0,5–2 h de análise/prova por cláusula sem correspondência, agrupada por contrato/consumidor; não somar estas faixas como projetos independentes. Implementação indeterminada até localizar lacuna.",,,
@@ -4699,17 +4699,17 @@ AUD-REL-01,Preservar relações territoriais e citar por associação,"Pedido di
[Executável 82dab3719ffc] P3 staging privado completo; P4 nominal destino real 27 refs/25 territórios, zero geometrias. Pré-condições fontes conferidas; pacote para decisão, não aplicado. Reversão após uso só manifesto/build, backend e dados retidos. Adaptador ensaiado só em clone: rollback/recuperação após commit e repetição sem duplicações; aplicação 56 fontes inalterada. Acesso público e diferenças visuais/login continuam abertos. Saldo remoto delimitado 4–7 h; sem alterações remotas.
[Executável 312965f2c653] P3 staging privado completo; P4 nominal destino real 27 refs/25 territórios, zero geometrias. Pré-condições fontes conferidas; pacote para decisão, não aplicado. Reversão após uso só manifesto/build, backend e dados retidos. Adaptador ensaiado só em clone: rollback/recuperação após commit e repetição sem duplicações; aplicação 56 fontes inalterada. Acesso público e diferenças visuais/login continuam abertos. Saldo remoto delimitado 4–7 h; sem alterações remotas.
[Homologação 312965f2c653 executada] Autorização Tempo; 30 fichas privadas/30 locais/31 suportes/11 relações/2 originais e 2 definições internas, 233 caminhos conferidos. Dados anteriores/permissões preservados; zero publicação/migrations/geometrias/P7. Saldo delimitado de execução concluído. Dossier legítimo, oito lacunas e questões de autenticação/visual separadas. RECIBO-EXECUCAO-312965.json. | 22/10/2026 — selectores especializados em QA: opções de cadastros públicos independentes das oportunidades; território principal documentado ou vínculos já publicados; cadeia pelo cluster e actividade como classificação pública. Vazio explicado; zero correspondências mantém ficha pública existente. Cabo Delgado/Nampula/nacional, selecção/limpeza/ficha/regresso/recarregamento; fixtures exclusivamente QA. CatalogueSelectorReferencesTest: 3 testes, 27 verificações; tipos/build passaram. Homologação já oferece Balama/Montepuez; a base local tinha dados distintos. Sem publicação/activação ou integração nesta execução. Manual: secção Selectores especializados do catálogo; provas outputs/catalogue-selectors-20261022.",território,12/10/2026 — reconciliação e HTTP; nova inspeção visual bloqueada,,,Pontes de rastreabilidade em falta; não inferir pares oportunidade–projeto/cluster,Acervo aceite; recuperar citação de cada par,InvestmentRelationshipRepair; InvestmentTerritorialTraceability,Leitura ativa e suite territorial; confirmação histórica V2,Não demonstrado individualmente; localizar critério e executar em QA.,,,,"2–8 h de reconciliação/ensaio por consumidor agrupado, pressupondo dados sintéticos/perfis preparados. Alteração: estimar após reprodução concreta; variante integral pode exceder esta faixa.",,,
-AUD-REL-02,Correspondência das seis oportunidades com âncoras/clusters,"Pedido direto 09/10/2026, auditoria §1–4; fontes específicas descritas em relatorio-executivo.md",cartografia/relações,/management/opportunities/{id}/context,"InvestmentGeography, campos TerritoryFields/ProvinceSelect, geo_locations/geo_geometries e importador autenticado. Capacidade existente associada ao domínio; correspondência integral desta cláusula só quando demonstrada na prova individual.","Ativo investemoz:5432, 295 tabelas, COUNTRY02/030000/040000 instalados; seis categorias e administração habilitadas. Leitura atual não demonstra esta cláusula individual. Legado, percurso integrado, modulares/ofertas e notificações desabilitados.",outputs/investmoz-audit-current-20261012/reused-evidence-integrity.json: 35 recibos anteriores com hashes correspondentes; o âmbito de cada recibo permanece limitado ao critério ensaiado. outputs/investmoz-audit-current-20261012/http-promoter.json; http-validator.json; http-publisher.json; http-manager.json.,Dependente de decisão concreta da Tempo,Os pares das seis oportunidades legadas com projetos/âncoras/clusters continuam indeterminados. Indicar pares com fundamento documental; não bloquear as oportunidades independentes.,"QA408/581INE; ativo0geometrias;173correspondências por nome/edição/pai, Mandie ambíguo. Publicação é ação separada. Os pares das seis oportunidades legadas com projetos/âncoras/clusters continuam indeterminados. Indicar pares com fundamento documental; não bloquear as oportunidades independentes.",AUD-REL-02: Somente pares explicitamente identificados pelo responsável/documento; sem duplicar relações,P1,AUD-REL-02: Relatórios históricos mantidos; estado ativo apurado por leitura nesta auditoria,AUD-REL-02,1,"[{""id"":""AUD-REL-02"",""pedido"":""Correspondência das seis oportunidades com âncoras/clusters"",""fontes"":[""Pedido direto 09/10/2026, auditoria §1–4; fontes específicas descritas em relatorio-executivo.md""],""aceitacao"":""Somente pares explicitamente identificados pelo responsável/documento; sem duplicar relações"",""estado"":""dependente de decisão concreta"",""variantes"":""Relatórios históricos mantidos; estado ativo apurado por leitura nesta auditoria"",""modulo"":""cartografia/relações""}]",Não demonstrado individualmente; localizar critério e executar em QA.,Não demonstrado individualmente; localizar critério e executar em QA.,Não demonstrado individualmente; localizar critério e executar em QA.,Não demonstrado individualmente; localizar critério e executar em QA.,Não demonstrado individualmente; localizar critério e executar em QA.,Texto exatamente equivalente no mesmo módulo; sem fusão semântica aproximada,dependente de decisão concreta,geo_locations: 1990; geo_geometries: 0; project_locations: 28; cluster_projects: 13; opportunity_projects: 0; opportunity_clusters: 0,"Decisão concreta isolada explicitada; não bloqueia as frentes independentes já autorizadas.
+AUD-REL-02,Correspondência das seis oportunidades com âncoras/clusters,"Pedido direto 09/10/2026, auditoria §1–4; fontes específicas descritas em relatorio-executivo.md Pedido expresso da Tempo, 23/10/2026, nesta retoma: corrigir integração de complementos no percurso actual, com identidade, cadeia de valor, localização e relações documentadas.",cartografia/relações,/management/opportunities/{id}/context,"InvestmentGeography, campos TerritoryFields/ProvinceSelect, geo_locations/geo_geometries e importador autenticado. Capacidade existente associada ao domínio; correspondência integral desta cláusula só quando demonstrada na prova individual.","Ativo investemoz:5432, 295 tabelas, COUNTRY02/030000/040000 instalados; seis categorias e administração habilitadas. Leitura atual não demonstra esta cláusula individual. Legado, percurso integrado, modulares/ofertas e notificações desabilitados.",outputs/investmoz-audit-current-20261012/reused-evidence-integrity.json: 35 recibos anteriores com hashes correspondentes; o âmbito de cada recibo permanece limitado ao critério ensaiado. outputs/investmoz-audit-current-20261012/http-promoter.json; http-validator.json; http-publisher.json; http-manager.json.,Dependente de decisão concreta da Tempo,Os pares das seis oportunidades legadas com projetos/âncoras/clusters continuam indeterminados. Indicar pares com fundamento documental; não bloquear as oportunidades independentes.,"QA408/581INE; ativo0geometrias;173correspondências por nome/edição/pai, Mandie ambíguo. Publicação é ação separada. Os pares das seis oportunidades legadas com projetos/âncoras/clusters continuam indeterminados. Indicar pares com fundamento documental; não bloquear as oportunidades independentes.",AUD-REL-02: Somente pares explicitamente identificados pelo responsável/documento; sem duplicar relações,P1,AUD-REL-02: Relatórios históricos mantidos; estado ativo apurado por leitura nesta auditoria,AUD-REL-02,1,"[{""id"":""AUD-REL-02"",""pedido"":""Correspondência das seis oportunidades com âncoras/clusters"",""fontes"":[""Pedido direto 09/10/2026, auditoria §1–4; fontes específicas descritas em relatorio-executivo.md""],""aceitacao"":""Somente pares explicitamente identificados pelo responsável/documento; sem duplicar relações"",""estado"":""dependente de decisão concreta"",""variantes"":""Relatórios históricos mantidos; estado ativo apurado por leitura nesta auditoria"",""modulo"":""cartografia/relações""}]",Não demonstrado individualmente; localizar critério e executar em QA.,Não demonstrado individualmente; localizar critério e executar em QA.,Não demonstrado individualmente; localizar critério e executar em QA.,Não demonstrado individualmente; localizar critério e executar em QA.,Não demonstrado individualmente; localizar critério e executar em QA.,Texto exatamente equivalente no mesmo módulo; sem fusão semântica aproximada,dependente de decisão concreta,geo_locations: 1990; geo_geometries: 0; project_locations: 28; cluster_projects: 13; opportunity_projects: 0; opportunity_clusters: 0,"Decisão concreta isolada explicitada; não bloqueia as frentes independentes já autorizadas.
[RECONCILIACAO-43-20261019] 23: 1921 referências e zero geometrias no destino. Reconciliar geometrias/fontes/classificação existentes em QA e consumidores abertos; corrigir bug de2. Não transformar divergência de contagens em importação.","Os pares das seis oportunidades legadas com projetos/âncoras/clusters continuam indeterminados. Indicar pares com fundamento documental; não bloquear as oportunidades independentes.
-[UTILIZACAO-HOMOLOGACAO-20261019] 23: Implementação parcial + dados — Consumidores cartográficos restantes e correspondências geográficas por item; diferença de contagens não identifica registos em falta.","InvestmentGeography, campos TerritoryFields/ProvinceSelect, geo_locations/geo_geometries e importador autenticado","QA408/581INE; ativo0geometrias;173correspondências por nome/edição/pai, Mandie ambíguo. Publicação é ação separada.",Os pares das seis oportunidades legadas com projetos/âncoras/clusters continuam indeterminados. Indicar pares com fundamento documental; não bloquear as oportunidades independentes.,Decisão Tempo + trabalho independente paralelo,Estimativa partilhada no lote correspondente de visao-consolidada-modulos.md; não somar por linha/cláusula/campo. Grupo: território. Esforço de código adicional só após lacuna reproduzida.,"outputs/investmoz-audit-current-20261012/reused-evidence-integrity.json: 35 recibos anteriores com hashes correspondentes; o âmbito de cada recibo permanece limitado ao critério ensaiado. outputs/investmoz-audit-current-20261012/http-promoter.json; http-validator.json; http-publisher.json; http-manager.json. | Homologação teste-investidor 19/10/2026: Cartografia e consumidores territoriais restantes=Não demonstrado. Saldo derivado e limites em outputs/investmoz-disponibilizacao-integral-20261019/SALDO-E-ACTUALIZACAO-CONSOLIDADA.md. Não substitui estado/provas do activo; trecho documental encerrado, vínculo dossier aberto. | Proposta integral fdcb31f1b5b9: aplicação activa local completa + R2/DOC01/destino reconciliados; schema/build/recuperação de contexto e reversão de apresentação ensaiados no clone isolado. Não instalado remotamente. Inc. QA territoriais/Inhambane/programas separados. Limites e decisões em outputs/investmoz-disponibilizacao-integral-20261019/PROPOSTA-INTEGRAL-PARA-DECISAO.md. | Execução autorizada fdcb31f1b5b9 concluída em teste-investidor: Cartografia e consumidores territoriais restantes=Não demonstrado. 1080 hashes iguais, schema171/88, custódia/scan/recuperação reais. Sem publicação ou papéis novos. Vínculo dossier legítimo pendente; incrementos QA separados. Limites em outputs/investmoz-disponibilizacao-integral-20261019/RESULTADO-DISPONIBILIZACAO-INTEGRAL.md; não encerra critérios globais não demonstrados.
+[UTILIZACAO-HOMOLOGACAO-20261019] 23: Implementação parcial + dados — Consumidores cartográficos restantes e correspondências geográficas por item; diferença de contagens não identifica registos em falta. Delta de complementos preparado/verificado em QA; conferência visual e instalação no destino ainda não realizadas. Relações sem oferta identificada permanecem necessidades, sem presumir inexistência no acervo. Cobertura transversal e restantes pendências desta linha mantêm-se. Actualização visual 23/10/2026: supera apenas a pendência visual dos complementos no recorte documentado. Não demonstra contextos específicos de várias oportunidades em zonas/parques, Terra/DUAT, Balcão ou manifestação. Sem disponibilização no destino nem fecho global.","InvestmentGeography, campos TerritoryFields/ProvinceSelect, geo_locations/geo_geometries e importador autenticado","QA408/581INE; ativo0geometrias;173correspondências por nome/edição/pai, Mandie ambíguo. Publicação é ação separada.",Os pares das seis oportunidades legadas com projetos/âncoras/clusters continuam indeterminados. Indicar pares com fundamento documental; não bloquear as oportunidades independentes.,Decisão Tempo + trabalho independente paralelo,Estimativa partilhada no lote correspondente de visao-consolidada-modulos.md; não somar por linha/cláusula/campo. Grupo: território. Esforço de código adicional só após lacuna reproduzida.,"outputs/investmoz-audit-current-20261012/reused-evidence-integrity.json: 35 recibos anteriores com hashes correspondentes; o âmbito de cada recibo permanece limitado ao critério ensaiado. outputs/investmoz-audit-current-20261012/http-promoter.json; http-validator.json; http-publisher.json; http-manager.json. | Homologação teste-investidor 19/10/2026: Cartografia e consumidores territoriais restantes=Não demonstrado. Saldo derivado e limites em outputs/investmoz-disponibilizacao-integral-20261019/SALDO-E-ACTUALIZACAO-CONSOLIDADA.md. Não substitui estado/provas do activo; trecho documental encerrado, vínculo dossier aberto. | Proposta integral fdcb31f1b5b9: aplicação activa local completa + R2/DOC01/destino reconciliados; schema/build/recuperação de contexto e reversão de apresentação ensaiados no clone isolado. Não instalado remotamente. Inc. QA territoriais/Inhambane/programas separados. Limites e decisões em outputs/investmoz-disponibilizacao-integral-20261019/PROPOSTA-INTEGRAL-PARA-DECISAO.md. | Execução autorizada fdcb31f1b5b9 concluída em teste-investidor: Cartografia e consumidores territoriais restantes=Não demonstrado. 1080 hashes iguais, schema171/88, custódia/scan/recuperação reais. Sem publicação ou papéis novos. Vínculo dossier legítimo pendente; incrementos QA separados. Limites em outputs/investmoz-disponibilizacao-integral-20261019/RESULTADO-DISPONIBILIZACAO-INTEGRAL.md; não encerra critérios globais não demonstrados.
[UTILIZACAO-HOMOLOGACAO-20261019] Leitura nominal de contas/recursos no destino; saldo18/10; prévia29 sem escrita; comparação de hashes QA separados. outputs/investmoz-disponibilizacao-integral-20261019/UTILIZACAO-EFECTIVA-HOMOLOGACAO.md
[RECONCILIACAO-43-20261019] Código e critérios confrontados com leitura READ ONLY fresca; PROVA-RECONCILIACAO-43-LEITURA.json, RECONCILIACAO-43-QA-FONTES.json, RECONCILIACAO-43-SCHEMA-QA.json. Não encerra critério funcional por inventário.
-[PLANO-P1-P6-20261019] Plano Tempo: 27–46 h disponibilização; P7 e desenvolvimento separados. Inclusão 36–39 expressa para decisão; sem publicação automática. Revisão de proposta d87970e701f0. Roteiro no manual existente; não encerra critério por instalação.",território,12/10/2026 — reconciliação e HTTP; nova inspeção visual bloqueada,,,Identidade dos pares continua indeterminada,"Pergunta: para cada ID 1–6, qual projeto/cluster exato deve ser ligado, com que papel e referência? Não impede outras correções",oportunidades-correspondencias.md; opportunity_projects/opportunity_clusters,Leitura ativa: ambas relações=0,Não demonstrado individualmente; localizar critério e executar em QA.,,,,"1–4 h para preparar/validar configuração após decisão; implementação/regras adicionais a delimitar, sem inventar nomeações ou prazos.",,,
+[PLANO-P1-P6-20261019] Plano Tempo: 27–46 h disponibilização; P7 e desenvolvimento separados. Inclusão 36–39 expressa para decisão; sem publicação automática. Revisão de proposta d87970e701f0. Roteiro no manual existente; não encerra critério por instalação. 23/10/2026 — Complementos: causa delimitada no campo textual focus e ausência de resolução/selecção complementar; incremento preparado em QA no percurso existente. Fichas/IDs existentes por relações documentadas, necessidades sem oferta, serviços/instrumentos publicados associados à origem, localização por complemento, rascunho/prévia/confirmação/histórico no dossier, apresentação nos quatro formulários e snapshot/linhas de relatório. Provas e limites em docs/investmoz/unification/investment-complements-qa-receipt-20261023.json e secção Complementos ligados ao investimento e ao dossier do manual. Sem instalação/alteração no activo. Não repete 6b544548/4098192a nem encerra aplicação transversal. 23/10/2026 — Conferência visual QA dos complementos concluída no recorte pedido: ficha 286 pela identidade existente; Fiação como necessidade/ideia; serviço sintético QA 17 e frio 310 ligados à segunda oportunidade 309 em Gaza, conservando a primeira 286 em Sofala. Confirmação e recarregamento recuperaram selecção, origem e localização; desconhecidos mantidos Por definir. Dossier sintético 6fdbb963-726e-4048-9884-8cddc04e77a6. Provas: outputs/complements-visual-20261023/; recibo existente investment-complements-qa-receipt-20261023.json actualizado. Serviço e segunda oportunidade são fixtures explícitas, sem alegar oferta real no destino. Homologação inalterada; fechos anteriores não repetidos.",território,12/10/2026 — reconciliação e HTTP; nova inspeção visual bloqueada,,,Identidade dos pares continua indeterminada,"Pergunta: para cada ID 1–6, qual projeto/cluster exato deve ser ligado, com que papel e referência? Não impede outras correções",oportunidades-correspondencias.md; opportunity_projects/opportunity_clusters,Leitura ativa: ambas relações=0,Não demonstrado individualmente; localizar critério e executar em QA.,,,,"1–4 h para preparar/validar configuração após decisão; implementação/regras adicionais a delimitar, sem inventar nomeações ou prazos.",,,
AUD-OP-01,Guardar e recuperar rascunho incompleto; exclusão/arquivo/restauro,"Pedido direto 09/10/2026, auditoria §1–4; fontes específicas descritas em relatorio-executivo.md",oportunidades,/management/opportunities; /management/opportunities/{id}/edit; PUT /management/opportunities/{id}/draft,"OpportunityManagement, OpportunityCanonicalContract/Response, OpportunityReviewMateriality, PortalProfileAccess, OpportunityResources. Capacidade existente associada ao domínio; correspondência integral desta cláusula só quando demonstrada na prova individual.","Ativo investemoz:5432, 295 tabelas, COUNTRY02/030000/040000 instalados; seis categorias e administração habilitadas. Leitura atual não demonstra esta cláusula individual. Legado, percurso integrado, modulares/ofertas e notificações desabilitados.","outputs/investmoz-audit-current-20261012/reused-evidence-integrity.json: 35 recibos anteriores com hashes correspondentes; o âmbito de cada recibo permanece limitado ao critério ensaiado. outputs/investmoz-audit-current-20261012/http-promoter.json; http-validator.json; http-publisher.json; http-manager.json.; correspondência explícita de prova agrupada: LEASE54; C131
[B QA 13/10/2026] C139: filtros públicos7/8 corrigidos em QA; catálogo central fornece8etapas V2 e6rótulos históricos distintos. Publicação normal do caso33 projetou etapa/rótulo/versão; API pública recupera7/8 sem campos privados. Provas agrupadas em proof-groups.json e execução-B-QA.md.",Implementado parcialmente,"Rascunhos incompletos, gravação/recuperação e arquivo já comprovados em QA. R-ARCHIVE/R-DRAFT não autorizados: decidir Publicador com motivo→revisão não pública, versus rascunho privado eliminado logicamente; nunca republicação automática.
@@ -10518,17 +10518,17 @@ AUD-LEG-05,"Fonte única associada a setores, territórios e etapas com fundamen
[RECONCILIACAO-43-20261019] Código e critérios confrontados com leitura READ ONLY fresca; PROVA-RECONCILIACAO-43-LEITURA.json, RECONCILIACAO-43-QA-FONTES.json, RECONCILIACAO-43-SCHEMA-QA.json. Não encerra critério funcional por inventário.
[PLANO-P1-P6-20261019] Plano Tempo: 27–46 h disponibilização; P7 e desenvolvimento separados. Inclusão 36–39 expressa para decisão; sem publicação automática. Revisão de proposta d87970e701f0. Roteiro no manual existente; não encerra critério por instalação.",documentos e legado,15/10/2026 — fecho do piloto ativo e preparação por leitura dos restantes setores; sem novos testes funcionais.,,,"Mesma biblioteca/versão/imagem reutilizada. Turismo editorial sem geometrias inferidas; relações territoriais e por etapa ainda exigem fundamento concreto. | Histórico anterior: Relações territoriais concretas e ampliação por etapa/setor ainda por fundamentar. Fonte única no piloto, sem criar oportunidades ou geometrias pelo artigo.",Biblioteca/documentos existentes; Balcão+09/190000 para dossier. Expansão cartográfica exige correspondências fundamentadas. C37/A-B/SLA/perfis e ativação mantêm âmbito próprio.,"Documento único6 e imagem5; três links com fundamento: tema, thumbnail e apoio editorialS01. Relações de oportunidades pelo setor já cadastrado; zero oportunidade ou geometria criada pelo artigo.","[Interface legado QA 10/10/2026] Chromium instalado, contextos isolados, desktop 1440 px / móvel 390 px: fotografia/fontes/paleta, pesquisa hit/miss, Enter/foco de 3 px, links carteira/zonas/biblioteca/oportunidade. Promotor QA21: login→MFA→dossier→fonte→retorno→logout→novo contexto/MFA→recuperação/F5→associação repetida. Conta23:403 e artigo público sem título privado; anónimo sem contexto privado. UI observada; referência/evento únicos e originais/hash/scan confirmados em leitura QA. legacy-content-browser-qa.json; legacy-content-browser-persistence-qa.json; legado-piloto-qa.md. | Evidência anterior preservada: legado-piloto-qa.md; legacy-content-http-qa.json: recursos6/5 públicos, hashes verificados, pesquisa, login/MFA21, criação/continuação, logout/nova sessão, recuperação, replay único e isolamento. Interface não observada. | [Setores QA após C71 10/10/2026] 22 originais importados privadamente após prévia renovada, hashes recuperados,22 scans ClamD reais e replay sem novos documentos/recursos/auditoria/scans. Divulgação autenticada separada:16 artigos com texto+5 imagens públicos; Mercado Financeiro privado, vazio confirmado na origem HTML e Inertia200. Chromium desktop:16 artigos, pesquisa/imagens, Energia e Mineração distintas, C72 título preservado; QA21 criou4 dossiers, retorno, logout/novaMFA/F5/replay; QA23 negado403 e anónimo sem contexto. Persistência READ ONLY:8 dossiers HTTP/Chromium, uma referência/evento cada,22 hashes únicos,0 relações geográficas automáticas. legacy-sectors-{apply,replay,http,browser,persistence}-qa.json; legacy-financial-origin-20261010/proof.json. C37/QA18,A/B,móvel/acessibilidade/cobertura integral não encerrados.","GET públicos e escritas autenticadas no servidor18097, alvo real55441 confirmado; publicação separada do importador. | [Setores QA após C71 10/10/2026] 22 originais importados privadamente após prévia renovada, hashes recuperados,22 scans ClamD reais e replay sem novos documentos/recursos/auditoria/scans. Divulgação autenticada separada:16 artigos com texto+5 imagens públicos; Mercado Financeiro privado, vazio confirmado na origem HTML e Inertia200. Chromium desktop:16 artigos, pesquisa/imagens, Energia e Mineração distintas, C72 título preservado; QA21 criou4 dossiers, retorno, logout/novaMFA/F5/replay; QA23 negado403 e anónimo sem contexto. Persistência READ ONLY:8 dossiers HTTP/Chromium, uma referência/evento cada,22 hashes únicos,0 relações geográficas automáticas. legacy-sectors-{apply,replay,http,browser,persistence}-qa.json; legacy-financial-origin-20261010/proof.json. C37/QA18,A/B,móvel/acessibilidade/cobertura integral não encerrados.",,,"Fecho exclusivo do piloto agronegócio; não cobre todo o acervo, versões, URLs, anexos ou setores. Mercado Financeiro vazio continua separado. | 19/10/2026 — Inhambane v1, lote QA separado a2b47f486332c78926202eb462c5238fac15ffc8afb2fe391e47b091541e2058. Fonte32c6ab160c50… comparada com anterior9f628cd57eb8…; 39 itens+5 condições reconciliados em30 rascunhos privados/30 locais,2 originais privados com scan real ClamAV. Repetição sem duplicação, fontes/intervalos/agregados preservados, nenhum total financeiro do lote. Backend de recuperação e confidencialidade demonstrado; login real/edição visual/publicação/percurso positivo destas fichas pendentes. Lacunas concretas: dados do promotor/contacto/taxonomia/local, proveniência documental no snapshot do dossier e reutilização biblioteca→anexo canónico. Sem novos papéis, migrations, alteração activa ou incorporação na HML01. outputs/investmoz-inhambane-v1-QA-20261019/RELATORIO-QA.md. Não encerra requisito global.","2–8 h de reconciliação/ensaio por consumidor agrupado, pressupondo dados sintéticos/perfis preparados. Alteração: estimar após reprodução concreta; variante integral pode exceder esta faixa.",,,
-AUD-LEG-06,"Preservar contexto ao entrar/regressar ao percurso, URLs existentes e correspondências de migração","Pedido direto do responsável,10/10/2026, integração do legado emQA §6; https://investemoz.tempo.co.mz/; legado-piloto-qa.md",biblioteca / conteúdo público / percurso do investidor,/explorar/agronegocio; /agronegocio; /documentos/6; /investimentos/a-partir-de/agronegocio; /investimentos/{id}/conteudos,"documents, biblioteca, importação autenticada, VerifiedDocumentBinary, jobs/derivadas. Capacidade existente associada ao domínio; correspondência integral desta cláusula só quando demonstrada na prova individual.","Disponibilizado em 15/10/2026, setores-fintech-QA-d5b4dc354265 DOC01: 16 fontes e compilação; sete entradas setoriais e especialização Fintech no dossier; três artigos publicados (recursos reais 27/28/29), imagem 24 reutilizada por identidade/hash. Flags existentes preservadas; sem migrations/categorias novas. B e COUNTRY02 preservados. | 22/10/2026 — disponibilizado por autorização Tempo: revisão servida042ffbde (inclui a76369eb/a1fbda06/064296e1 e correcção dirigida da recuperação legada). Percurso habilitado na homologação, versão private-investment-preparation-2026-v1; main ancestral preservado, sem conflitos/force-push. Zero migrations/importações/fixtures; nenhuma nova regra fiscal publicada/activada. Revisão/configuração/rotas conferidas; provas funcionais QA reutilizadas.","QA aceite reutilizada; execução ativa com backup/restauro, scan real, publicação expressa e HTTP anónimo200. Sem repetir percurso. outputs/investmoz-legado-ativacao-20261015/RESULTADO-FINAL.json; FINAL-READONLY.json; ANONYMOUS-HTTP.json; RECIBO-INTEGRIDADE-FINAL.json; outputs/investmoz-legado-restantes-setores-preparacao-20261015/INVENTARIO-E-RECORTE.json | 22/10/2026: primeiro incremento QA na branch codex/project-context-continuity-QA; contexto único por dossier/conta, herança com edições preservadas, moeda/IVA mensal e análise territorial explícita. Ver traceability-and-manual.md, secção Continuidade e adaptação contextual. 4 HTTP/74 asserções; 8 frontend; percurso visual A/B e nova sessão. Não encerra adaptação jurídica integral. | 22/10/2026 — percurso privado executável em QA (base52fbb146): condições oficiais seleccionam mero registo/autorização, alternativas documentais e próximos passos; contexto C v4 mero registo após distinção directo/indirecto (Lei14/R13); prévia visual, vínculo inactivo preservado e relatório v3 por autorização conservado como histórico. 3 testes/96 asserções e um teste do novo relatório, tipos/build aprovados. Sem validação jurídica genérica adicional; orientação permanente Tempo em AGENTS. Branch codex/private-investment-path-executable-QA; sem integração main/alteração da homologação/activação fiscal.",Implementado parcialmente — entradas setoriais e três artigos ativos,"Inventário reconciliado: 17 artigos e cinco imagens publicados; 31 artigos com corpo por integrar (5 setoriais, 8 trabalho doméstico, 18 históricos/noticiosos); Mercado Financeiro vazio e post 74364 sem título separados. Onze variantes de URL e 43 capturas adicionais de artigos já cobertas, sem novas identidades. Demais referências, anexos técnicos e sitemap misto conservam recorte próprio.",Scanner/worker/GD/WebP e originais privados; ACL por oportunidade/sala diferente de partilha individual não implementada. LegadoOFF. Nenhuma nova decisão identificada para reconciliar/demonstrar esta cláusula. Decisões específicas só após localizar a regra correspondente.,URL antigo recupera a mesma fonte; login/retorno preservam a escolha; nova sessão recupera; nenhuma mistura entre projetos nem conversão de roteiro legado.,P1,"Legado post171985 modificado2026-04-20; categoria Oportunidades preservada como metadado, entidade guia. Metadados/sitemapInfopublica e área de investimento distintos; não remapear por nome.",USR-LEG-20261010-06,1,"[{""id"":""USR-LEG-20261010-06"",""pedido"":""Preservar contexto ao entrar/regressar ao percurso, URLs existentes e correspondências de migração"",""fontes"":[""Pedido direto10/10/2026 §6""],""aceitacao"":""URL antigo recupera a mesma fonte; login/retorno preservam a escolha; nova sessão recupera; nenhuma mistura entre projetos nem conversão de roteiro legado."",""estado"":""parcial"",""variantes"":""IntegraçãoprogressivaQA, sem substituição de pendências anteriores"",""modulo"":""legado/biblioteca/percurso"",""confirmacao_manual"":{""recebida_em"":""2026-10-10"",""fonte"":""Mensagem do responsável nesta conversa"",""conta"":""não indicada"",""perfil"":""não indicado"",""dispositivo"":""não indicado"",""criterios"":[{""criterio"":""criar_ou_escolher_dossier"",""estado"":""confirmado manualmente"",""ambito"":""piloto agronegócio QA""},{""criterio"":""guardar_referencia"",""estado"":""confirmado manualmente"",""ambito"":""piloto agronegócio QA""},{""criterio"":""nova_sessao"",""estado"":""confirmado manualmente"",""ambito"":""piloto agronegócio QA""},{""criterio"":""recuperar_dossier"",""estado"":""confirmado manualmente"",""ambito"":""piloto agronegócio QA""},{""criterio"":""abrir_artigo"",""estado"":""confirmado manualmente"",""ambito"":""piloto agronegócio QA""}],""exclusoes"":[""móvel"",""acessibilidade"",""outros perfis"",""C37 conta18"",""cenários A/B"",""cobertura integral""]},""incremento_setores_qa_20261010"":{""atualizado_em"":""2026-10-10T16:23:25.695297+00:00"",""ambito"":""QA18097;base55441isolada"",""evidencia"":""22 originais importados privadamente após prévia renovada, hashes recuperados,22 scans ClamD reais e replay sem novos documentos/recursos/auditoria/scans. Divulgação autenticada separada:16 artigos com texto+5 imagens públicos; Mercado Financeiro privado, vazio confirmado na origem HTML e Inertia200. Chromium desktop:16 artigos, pesquisa/imagens, Energia e Mineração distintas, C72 título preservado; QA21 criou4 dossiers, retorno, logout/novaMFA/F5/replay; QA23 negado403 e anónimo sem contexto. Persistência READ ONLY:8 dossiers HTTP/Chromium, uma referência/evento cada,22 hashes únicos,0 relações geográficas automáticas. legacy-sectors-{apply,replay,http,browser,persistence}-qa.json; legacy-financial-origin-20261010/proof.json. C37/QA18,A/B,móvel/acessibilidade/cobertura integral não encerrados."",""estado_requisito_atual"":""parcial"",""exclusoes"":[""ativação"",""C37/QA18"",""A/B"",""móvel"",""acessibilidade"",""cobertura integral""]},""incremento_visual_qa_20261010"":{""atualizado_em"":""2026-10-10T17:57:54.604301+00:00"",""ambito"":""QA18097/55441 exclusivamente"",""evidencia"":""FalhasC77–C83 corrigidas emQA: landmarks, nomeARIA do mapa, hierarquia de títulos do texto legado sem alteraroriginal/hash, tabelas financeiras focáveis por teclado, reflow de tarefas/select/data no dossier, langpt-MZ apenas no routerQA e proteção da recuperação assíncrona do simulador. Após correções15execuções axe/390–320–1440px,0violações automáticas/0overflow e idiomaPT; skiplink primeiroTab→conteúdo em3páginas; tabelas financeiras focadas/teclas no Chromium. Não equivale a leitor de ecrã, zoom/dispositivo real ou cobertura de todo oportal. LegacyContentTest5/84 e rastreioMFA1/14 são provas específicas, não contagem substituta de percursos. visual-followup-chromium-20261010.json e screenshots; históricos de falhas mantidos."",""lacuna_atual"":""Cobertura integral, mais perfis/dispositivos, leitor de ecrã e editor administrativoC74 não demonstrados. Mercado Financeiro permanece privado/corpo vazio confirmado na origem; rotas404. Sem associação automática Turismo→cadastro territorial, sem fundir Energia/Mineração."",""estado_global_preservado"":""parcial"",""ativacao"":false}}]","[Interface legado QA 10 /10/2026 ] Render /cliques observados no Chromium QA, com recuperação noutra sessão /F5 e negação à conta 23. Não é o navegador pessoal do utilizador nem o ensaio C37 /QA18. | Evidência anterior preservada: React preparado e build QA; dados Inertia recuperados. Navegador indisponível; roteiro manual em legado-piloto-qa.md . Aceitação visual pendente. | [Confirmação manual recebida 10 /10/2026 ] Responsável confirmou leitura pública → autenticação → criar /escolher dossier → guardar referência → nova sessão → recuperar dossier e abrir artigo. Confirmação declarada, sem conta /perfil/dispositivo/data de execução identificados. Não comprova MFA específico, ensaios móveis, acessibilidade, outros perfis, deduplicação, C37 /QA18 ou A /B. Ver legado-piloto-qa.md , confirmação manual. | [Setores QA após C71 10 /10/2026 ] 22 originais importados privadamente após prévia renovada, hashes recuperados,22 scans ClamD reais e replay sem novos documentos /recursos/auditoria/scans. Divulgação autenticada separada:16 artigos com texto+5 imagens públicos; Mercado Financeiro privado, vazio confirmado na origem HTML e Inertia 200. Chromium desktop:16 artigos, pesquisa /imagens , Energia e Mineração distintas, C72 título preservado; QA21 criou 4 dossiers, retorno, logout /novaMFA/F5/replay ; QA23 negado 403 e anónimo sem contexto. Persistência READ ONLY:8 dossiers HTTP /Chromium , uma referência /evento cada,22 hashes únicos,0 relações geográficas automáticas. legacy-sectors-{apply,replay,http,browser,persistence} -qa.json ; legacy-financial-origin-20261010 /proof.json. C37 /QA18 ,A /B ,móvel /acessibilidade/cobertura integral não encerrados. | [Visual QA 10 /10/2026 ] Leitura pública /móvel dirigida, teclado e 4 consumidores do mapa demonstrados;15 execuções de acessibilidade sem violação automática. | [Visual QA 10/10/2026] Leitura pública/móvel dirigida, teclado e4consumidores do mapa demonstrados;15execuções de acessibilidade semviolação automática.","GET públicos e escritas autenticadas no servidor18097, alvo real55441 confirmado; publicação separada do importador. | [Setores QA após C71 10/10/2026] 22 originais importados privadamente após prévia renovada, hashes recuperados,22 scans ClamD reais e replay sem novos documentos/recursos/auditoria/scans. Divulgação autenticada separada:16 artigos com texto+5 imagens públicos; Mercado Financeiro privado, vazio confirmado na origem HTML e Inertia200. Chromium desktop:16 artigos, pesquisa/imagens, Energia e Mineração distintas, C72 título preservado; QA21 criou4 dossiers, retorno, logout/novaMFA/F5/replay; QA23 negado403 e anónimo sem contexto. Persistência READ ONLY:8 dossiers HTTP/Chromium, uma referência/evento cada,22 hashes únicos,0 relações geográficas automáticas. legacy-sectors-{apply,replay,http,browser,persistence}-qa.json; legacy-financial-origin-20261010/proof.json. C37/QA18,A/B,móvel/acessibilidade/cobertura integral não encerrados.","Dois recursos na biblioteca existente e referências no payload cifrado do dossier; sem nova tabela/cadastro paralelo. | [Confirmação manual recebida 10/10/2026] Responsável confirmou leitura pública → autenticação → criar/escolher dossier → guardar referência → nova sessão → recuperar dossier e abrir artigo. Confirmação declarada, sem conta/perfil/dispositivo/data de execução identificados. Não comprova MFA específico, ensaios móveis, acessibilidade, outros perfis, deduplicação, C37/QA18 ou A/B. Ver legado-piloto-qa.md, confirmação manual. | [Setores QA após C71 10/10/2026] 22 originais importados privadamente após prévia renovada, hashes recuperados,22 scans ClamD reais e replay sem novos documentos/recursos/auditoria/scans. Divulgação autenticada separada:16 artigos com texto+5 imagens públicos; Mercado Financeiro privado, vazio confirmado na origem HTML e Inertia200. Chromium desktop:16 artigos, pesquisa/imagens, Energia e Mineração distintas, C72 título preservado; QA21 criou4 dossiers, retorno, logout/novaMFA/F5/replay; QA23 negado403 e anónimo sem contexto. Persistência READ ONLY:8 dossiers HTTP/Chromium, uma referência/evento cada,22 hashes únicos,0 relações geográficas automáticas. legacy-sectors-{apply,replay,http,browser,persistence}-qa.json; legacy-financial-origin-20261010/proof.json. C37/QA18,A/B,móvel/acessibilidade/cobertura integral não encerrados.","[Interface legado QA 10/10/2026] Render/cliques observados no Chromium QA, com recuperação noutra sessão/F5 e negação à conta23. Não é o navegador pessoal do utilizador nem o ensaio C37/QA18. | Evidência anterior preservada: Logout/nova sessão FortifyMFA21: fonte/versão/hashes recuperados; outra conta negada e projeto independente sem referência. | [Confirmação manual recebida 10/10/2026] Responsável confirmou leitura pública → autenticação → criar/escolher dossier → guardar referência → nova sessão → recuperar dossier e abrir artigo. Confirmação declarada, sem conta/perfil/dispositivo/data de execução identificados. Não comprova MFA específico, ensaios móveis, acessibilidade, outros perfis, deduplicação, C37/QA18 ou A/B. Ver legado-piloto-qa.md, confirmação manual. | [Setores QA após C71 10/10/2026] 22 originais importados privadamente após prévia renovada, hashes recuperados,22 scans ClamD reais e replay sem novos documentos/recursos/auditoria/scans. Divulgação autenticada separada:16 artigos com texto+5 imagens públicos; Mercado Financeiro privado, vazio confirmado na origem HTML e Inertia200. Chromium desktop:16 artigos, pesquisa/imagens, Energia e Mineração distintas, C72 título preservado; QA21 criou4 dossiers, retorno, logout/novaMFA/F5/replay; QA23 negado403 e anónimo sem contexto. Persistência READ ONLY:8 dossiers HTTP/Chromium, uma referência/evento cada,22 hashes únicos,0 relações geográficas automáticas. legacy-sectors-{apply,replay,http,browser,persistence}-qa.json; legacy-financial-origin-20261010/proof.json. C37/QA18,A/B,móvel/acessibilidade/cobertura integral não encerrados.",Piloto ativo encerrado; restante legado pendente.,Piloto agronegócio: ativo e entrega encerrada. Integração integral do legado: pendente nos mesmos IDs.,parcial,Não disponibilizado; guarda QA/flagfalse. Nenhuma escrita ou divulgação ativa autorizada.,"15/10/2026: entrega do piloto encerrada; dados/B/COUNTRY02/build preservados. Não equivale a integração integral do legado. | Lote setorial disponibilizado por autorização expressa da Tempo; integração integral continua pendente. | QA 15/10/2026: setores-fintech-QA-d5b4dc354265; sete entradas comerciais/contexto no dossier e três artigos preparados. B/COUNTRY02/aceitações preservados; sem disponibilização ativa. | Disponibilização expressamente autorizada pela Tempo: «Autorizo a disponibilizar». Executada com backup/restauro fresco verificado; apenas conferência operacional, sem repetir aceitação QA.
+AUD-LEG-06,"Preservar contexto ao entrar/regressar ao percurso, URLs existentes e correspondências de migração","Pedido direto do responsável,10/10/2026, integração do legado emQA §6; https://investemoz.tempo.co.mz/; legado-piloto-qa.md Pedido expresso da Tempo, 23/10/2026, nesta retoma: corrigir integração de complementos no percurso actual, com identidade, cadeia de valor, localização e relações documentadas.",biblioteca / conteúdo público / percurso do investidor,/explorar/agronegocio; /agronegocio; /documentos/6; /investimentos/a-partir-de/agronegocio; /investimentos/{id}/conteudos,"documents, biblioteca, importação autenticada, VerifiedDocumentBinary, jobs/derivadas. Capacidade existente associada ao domínio; correspondência integral desta cláusula só quando demonstrada na prova individual.","Disponibilizado em 15/10/2026, setores-fintech-QA-d5b4dc354265 DOC01: 16 fontes e compilação; sete entradas setoriais e especialização Fintech no dossier; três artigos publicados (recursos reais 27/28/29), imagem 24 reutilizada por identidade/hash. Flags existentes preservadas; sem migrations/categorias novas. B e COUNTRY02 preservados. | 22/10/2026 — disponibilizado por autorização Tempo: revisão servida042ffbde (inclui a76369eb/a1fbda06/064296e1 e correcção dirigida da recuperação legada). Percurso habilitado na homologação, versão private-investment-preparation-2026-v1; main ancestral preservado, sem conflitos/force-push. Zero migrations/importações/fixtures; nenhuma nova regra fiscal publicada/activada. Revisão/configuração/rotas conferidas; provas funcionais QA reutilizadas.","QA aceite reutilizada; execução ativa com backup/restauro, scan real, publicação expressa e HTTP anónimo200. Sem repetir percurso. outputs/investmoz-legado-ativacao-20261015/RESULTADO-FINAL.json; FINAL-READONLY.json; ANONYMOUS-HTTP.json; RECIBO-INTEGRIDADE-FINAL.json; outputs/investmoz-legado-restantes-setores-preparacao-20261015/INVENTARIO-E-RECORTE.json | 22/10/2026: primeiro incremento QA na branch codex/project-context-continuity-QA; contexto único por dossier/conta, herança com edições preservadas, moeda/IVA mensal e análise territorial explícita. Ver traceability-and-manual.md, secção Continuidade e adaptação contextual. 4 HTTP/74 asserções; 8 frontend; percurso visual A/B e nova sessão. Não encerra adaptação jurídica integral. | 22/10/2026 — percurso privado executável em QA (base52fbb146): condições oficiais seleccionam mero registo/autorização, alternativas documentais e próximos passos; contexto C v4 mero registo após distinção directo/indirecto (Lei14/R13); prévia visual, vínculo inactivo preservado e relatório v3 por autorização conservado como histórico. 3 testes/96 asserções e um teste do novo relatório, tipos/build aprovados. Sem validação jurídica genérica adicional; orientação permanente Tempo em AGENTS. Branch codex/private-investment-path-executable-QA; sem integração main/alteração da homologação/activação fiscal.",Implementado parcialmente — entradas setoriais e três artigos ativos,"Inventário reconciliado: 17 artigos e cinco imagens publicados; 31 artigos com corpo por integrar (5 setoriais, 8 trabalho doméstico, 18 históricos/noticiosos); Mercado Financeiro vazio e post 74364 sem título separados. Onze variantes de URL e 43 capturas adicionais de artigos já cobertas, sem novas identidades. Demais referências, anexos técnicos e sitemap misto conservam recorte próprio.",Scanner/worker/GD/WebP e originais privados; ACL por oportunidade/sala diferente de partilha individual não implementada. LegadoOFF. Nenhuma nova decisão identificada para reconciliar/demonstrar esta cláusula. Decisões específicas só após localizar a regra correspondente.,URL antigo recupera a mesma fonte; login/retorno preservam a escolha; nova sessão recupera; nenhuma mistura entre projetos nem conversão de roteiro legado.,P1,"Legado post171985 modificado2026-04-20; categoria Oportunidades preservada como metadado, entidade guia. Metadados/sitemapInfopublica e área de investimento distintos; não remapear por nome.",USR-LEG-20261010-06,1,"[{""id"":""USR-LEG-20261010-06"",""pedido"":""Preservar contexto ao entrar/regressar ao percurso, URLs existentes e correspondências de migração"",""fontes"":[""Pedido direto10/10/2026 §6""],""aceitacao"":""URL antigo recupera a mesma fonte; login/retorno preservam a escolha; nova sessão recupera; nenhuma mistura entre projetos nem conversão de roteiro legado."",""estado"":""parcial"",""variantes"":""IntegraçãoprogressivaQA, sem substituição de pendências anteriores"",""modulo"":""legado/biblioteca/percurso"",""confirmacao_manual"":{""recebida_em"":""2026-10-10"",""fonte"":""Mensagem do responsável nesta conversa"",""conta"":""não indicada"",""perfil"":""não indicado"",""dispositivo"":""não indicado"",""criterios"":[{""criterio"":""criar_ou_escolher_dossier"",""estado"":""confirmado manualmente"",""ambito"":""piloto agronegócio QA""},{""criterio"":""guardar_referencia"",""estado"":""confirmado manualmente"",""ambito"":""piloto agronegócio QA""},{""criterio"":""nova_sessao"",""estado"":""confirmado manualmente"",""ambito"":""piloto agronegócio QA""},{""criterio"":""recuperar_dossier"",""estado"":""confirmado manualmente"",""ambito"":""piloto agronegócio QA""},{""criterio"":""abrir_artigo"",""estado"":""confirmado manualmente"",""ambito"":""piloto agronegócio QA""}],""exclusoes"":[""móvel"",""acessibilidade"",""outros perfis"",""C37 conta18"",""cenários A/B"",""cobertura integral""]},""incremento_setores_qa_20261010"":{""atualizado_em"":""2026-10-10T16:23:25.695297+00:00"",""ambito"":""QA18097;base55441isolada"",""evidencia"":""22 originais importados privadamente após prévia renovada, hashes recuperados,22 scans ClamD reais e replay sem novos documentos/recursos/auditoria/scans. Divulgação autenticada separada:16 artigos com texto+5 imagens públicos; Mercado Financeiro privado, vazio confirmado na origem HTML e Inertia200. Chromium desktop:16 artigos, pesquisa/imagens, Energia e Mineração distintas, C72 título preservado; QA21 criou4 dossiers, retorno, logout/novaMFA/F5/replay; QA23 negado403 e anónimo sem contexto. Persistência READ ONLY:8 dossiers HTTP/Chromium, uma referência/evento cada,22 hashes únicos,0 relações geográficas automáticas. legacy-sectors-{apply,replay,http,browser,persistence}-qa.json; legacy-financial-origin-20261010/proof.json. C37/QA18,A/B,móvel/acessibilidade/cobertura integral não encerrados."",""estado_requisito_atual"":""parcial"",""exclusoes"":[""ativação"",""C37/QA18"",""A/B"",""móvel"",""acessibilidade"",""cobertura integral""]},""incremento_visual_qa_20261010"":{""atualizado_em"":""2026-10-10T17:57:54.604301+00:00"",""ambito"":""QA18097/55441 exclusivamente"",""evidencia"":""FalhasC77–C83 corrigidas emQA: landmarks, nomeARIA do mapa, hierarquia de títulos do texto legado sem alteraroriginal/hash, tabelas financeiras focáveis por teclado, reflow de tarefas/select/data no dossier, langpt-MZ apenas no routerQA e proteção da recuperação assíncrona do simulador. Após correções15execuções axe/390–320–1440px,0violações automáticas/0overflow e idiomaPT; skiplink primeiroTab→conteúdo em3páginas; tabelas financeiras focadas/teclas no Chromium. Não equivale a leitor de ecrã, zoom/dispositivo real ou cobertura de todo oportal. LegacyContentTest5/84 e rastreioMFA1/14 são provas específicas, não contagem substituta de percursos. visual-followup-chromium-20261010.json e screenshots; históricos de falhas mantidos."",""lacuna_atual"":""Cobertura integral, mais perfis/dispositivos, leitor de ecrã e editor administrativoC74 não demonstrados. Mercado Financeiro permanece privado/corpo vazio confirmado na origem; rotas404. Sem associação automática Turismo→cadastro territorial, sem fundir Energia/Mineração."",""estado_global_preservado"":""parcial"",""ativacao"":false}}]","[Interface legado QA 10 /10/2026 ] Render /cliques observados no Chromium QA, com recuperação noutra sessão /F5 e negação à conta 23. Não é o navegador pessoal do utilizador nem o ensaio C37 /QA18. | Evidência anterior preservada: React preparado e build QA; dados Inertia recuperados. Navegador indisponível; roteiro manual em legado-piloto-qa.md . Aceitação visual pendente. | [Confirmação manual recebida 10 /10/2026 ] Responsável confirmou leitura pública → autenticação → criar /escolher dossier → guardar referência → nova sessão → recuperar dossier e abrir artigo. Confirmação declarada, sem conta /perfil/dispositivo/data de execução identificados. Não comprova MFA específico, ensaios móveis, acessibilidade, outros perfis, deduplicação, C37 /QA18 ou A /B. Ver legado-piloto-qa.md , confirmação manual. | [Setores QA após C71 10 /10/2026 ] 22 originais importados privadamente após prévia renovada, hashes recuperados,22 scans ClamD reais e replay sem novos documentos /recursos/auditoria/scans. Divulgação autenticada separada:16 artigos com texto+5 imagens públicos; Mercado Financeiro privado, vazio confirmado na origem HTML e Inertia 200. Chromium desktop:16 artigos, pesquisa /imagens , Energia e Mineração distintas, C72 título preservado; QA21 criou 4 dossiers, retorno, logout /novaMFA/F5/replay ; QA23 negado 403 e anónimo sem contexto. Persistência READ ONLY:8 dossiers HTTP /Chromium , uma referência /evento cada,22 hashes únicos,0 relações geográficas automáticas. legacy-sectors-{apply,replay,http,browser,persistence} -qa.json ; legacy-financial-origin-20261010 /proof.json. C37 /QA18 ,A /B ,móvel /acessibilidade/cobertura integral não encerrados. | [Visual QA 10 /10/2026 ] Leitura pública /móvel dirigida, teclado e 4 consumidores do mapa demonstrados;15 execuções de acessibilidade sem violação automática. | [Visual QA 10/10/2026] Leitura pública/móvel dirigida, teclado e4consumidores do mapa demonstrados;15execuções de acessibilidade semviolação automática.","GET públicos e escritas autenticadas no servidor18097, alvo real55441 confirmado; publicação separada do importador. | [Setores QA após C71 10/10/2026] 22 originais importados privadamente após prévia renovada, hashes recuperados,22 scans ClamD reais e replay sem novos documentos/recursos/auditoria/scans. Divulgação autenticada separada:16 artigos com texto+5 imagens públicos; Mercado Financeiro privado, vazio confirmado na origem HTML e Inertia200. Chromium desktop:16 artigos, pesquisa/imagens, Energia e Mineração distintas, C72 título preservado; QA21 criou4 dossiers, retorno, logout/novaMFA/F5/replay; QA23 negado403 e anónimo sem contexto. Persistência READ ONLY:8 dossiers HTTP/Chromium, uma referência/evento cada,22 hashes únicos,0 relações geográficas automáticas. legacy-sectors-{apply,replay,http,browser,persistence}-qa.json; legacy-financial-origin-20261010/proof.json. C37/QA18,A/B,móvel/acessibilidade/cobertura integral não encerrados.","Dois recursos na biblioteca existente e referências no payload cifrado do dossier; sem nova tabela/cadastro paralelo. | [Confirmação manual recebida 10/10/2026] Responsável confirmou leitura pública → autenticação → criar/escolher dossier → guardar referência → nova sessão → recuperar dossier e abrir artigo. Confirmação declarada, sem conta/perfil/dispositivo/data de execução identificados. Não comprova MFA específico, ensaios móveis, acessibilidade, outros perfis, deduplicação, C37/QA18 ou A/B. Ver legado-piloto-qa.md, confirmação manual. | [Setores QA após C71 10/10/2026] 22 originais importados privadamente após prévia renovada, hashes recuperados,22 scans ClamD reais e replay sem novos documentos/recursos/auditoria/scans. Divulgação autenticada separada:16 artigos com texto+5 imagens públicos; Mercado Financeiro privado, vazio confirmado na origem HTML e Inertia200. Chromium desktop:16 artigos, pesquisa/imagens, Energia e Mineração distintas, C72 título preservado; QA21 criou4 dossiers, retorno, logout/novaMFA/F5/replay; QA23 negado403 e anónimo sem contexto. Persistência READ ONLY:8 dossiers HTTP/Chromium, uma referência/evento cada,22 hashes únicos,0 relações geográficas automáticas. legacy-sectors-{apply,replay,http,browser,persistence}-qa.json; legacy-financial-origin-20261010/proof.json. C37/QA18,A/B,móvel/acessibilidade/cobertura integral não encerrados.","[Interface legado QA 10/10/2026] Render/cliques observados no Chromium QA, com recuperação noutra sessão/F5 e negação à conta23. Não é o navegador pessoal do utilizador nem o ensaio C37/QA18. | Evidência anterior preservada: Logout/nova sessão FortifyMFA21: fonte/versão/hashes recuperados; outra conta negada e projeto independente sem referência. | [Confirmação manual recebida 10/10/2026] Responsável confirmou leitura pública → autenticação → criar/escolher dossier → guardar referência → nova sessão → recuperar dossier e abrir artigo. Confirmação declarada, sem conta/perfil/dispositivo/data de execução identificados. Não comprova MFA específico, ensaios móveis, acessibilidade, outros perfis, deduplicação, C37/QA18 ou A/B. Ver legado-piloto-qa.md, confirmação manual. | [Setores QA após C71 10/10/2026] 22 originais importados privadamente após prévia renovada, hashes recuperados,22 scans ClamD reais e replay sem novos documentos/recursos/auditoria/scans. Divulgação autenticada separada:16 artigos com texto+5 imagens públicos; Mercado Financeiro privado, vazio confirmado na origem HTML e Inertia200. Chromium desktop:16 artigos, pesquisa/imagens, Energia e Mineração distintas, C72 título preservado; QA21 criou4 dossiers, retorno, logout/novaMFA/F5/replay; QA23 negado403 e anónimo sem contexto. Persistência READ ONLY:8 dossiers HTTP/Chromium, uma referência/evento cada,22 hashes únicos,0 relações geográficas automáticas. legacy-sectors-{apply,replay,http,browser,persistence}-qa.json; legacy-financial-origin-20261010/proof.json. C37/QA18,A/B,móvel/acessibilidade/cobertura integral não encerrados.",Piloto ativo encerrado; restante legado pendente.,Piloto agronegócio: ativo e entrega encerrada. Integração integral do legado: pendente nos mesmos IDs.,parcial,Não disponibilizado; guarda QA/flagfalse. Nenhuma escrita ou divulgação ativa autorizada.,"15/10/2026: entrega do piloto encerrada; dados/B/COUNTRY02/build preservados. Não equivale a integração integral do legado. | Lote setorial disponibilizado por autorização expressa da Tempo; integração integral continua pendente. | QA 15/10/2026: setores-fintech-QA-d5b4dc354265; sete entradas comerciais/contexto no dossier e três artigos preparados. B/COUNTRY02/aceitações preservados; sem disponibilização ativa. | Disponibilização expressamente autorizada pela Tempo: «Autorizo a disponibilizar». Executada com backup/restauro fresco verificado; apenas conferência operacional, sem repetir aceitação QA.
[RECONCILIACAO-43-20261019] 5: Sem saldo de código no recorte visual aceite. | 8: Outras identidades do legado exigem lotes e eventual adaptação por tipo. Não há autorização genérica para publicar todo o acervo. | 22/10/2026: primeiro incremento QA na branch codex/project-context-continuity-QA; contexto único por dossier/conta, herança com edições preservadas, moeda/IVA mensal e análise territorial explícita. Ver traceability-and-manual.md, secção Continuidade e adaptação contextual. 4 HTTP/74 asserções; 8 frontend; percurso visual A/B e nova sessão. Não encerra adaptação jurídica integral. | 22/10/2026 — percurso privado executável em QA (base52fbb146): condições oficiais seleccionam mero registo/autorização, alternativas documentais e próximos passos; contexto C v4 mero registo após distinção directo/indirecto (Lei14/R13); prévia visual, vínculo inactivo preservado e relatório v3 por autorização conservado como histórico. 3 testes/96 asserções e um teste do novo relatório, tipos/build aprovados. Sem validação jurídica genérica adicional; orientação permanente Tempo em AGENTS. Branch codex/private-investment-path-executable-QA; sem integração main/alteração da homologação/activação fiscal.","Inventário reconciliado: 20 artigos e cinco imagens publicados; 28 artigos com corpo por integrar (2 setoriais, 8 trabalho doméstico, 18 históricos/noticiosos); Mercado Financeiro vazio e post 74364 sem título separados. Onze variantes de URL e 43 capturas adicionais de artigos já cobertas, sem novas identidades. Demais referências, anexos técnicos e sitemap misto conservam recorte próprio. | Entrega operacional deste delta concluída. Mercado Financeiro geral vazio e restante acervo mantêm os seus estados. Licenças, requisitos e documentos específicos Fintech por atividade permanecem por determinar; não bloqueiam a preparação independente nem se consideram concluídos. | Recorte QA demonstrado, sem encerrar critérios globais. Histórico económico combinado conservado, fora de novas escolhas; oportunidade6 não inferida como Fintech. Sem fusões por nome. Recuperação existente conferida por leitura e hashes; outra sessão/dispositivo e percursos aceites não reensaiados. Conferência dos anexos pelo utilizador pendente. | Recorte aprovado disponibilizado; requisitos globais permanecem abertos. Atividade historica combinada e oportunidade6 sem reclassificacao. Conferencia dos anexos finais pelo utilizador pendente. Sem repetir testes aceites, formularios ou L1.
-[UTILIZACAO-HOMOLOGACAO-20261019] 5: Disponibilidade condicionada conforme limite registado — Ecrã aberto: dez sectores principais, especialização Fintech sem cartão principal duplicado; 12 registos conservados. | 8: Disponibilidade condicionada conforme limite registado — Adaptador habilitado; artigos/imagens transportados privadamente, sem os publicar. | Recorte executável C concluído em QA. Restantes coberturas sectoriais/benefícios e encaminhamento visual de zona real têm limites concretos no manual; não bloqueiam os ramos já documentados. Integração/habilitação no destino não executadas. | Integração/habilitação deste recorte executadas em22/10/2026; referências anteriores a operação pendente são históricas. Não reabrir as provas aceites.","documents, biblioteca, importação autenticada, VerifiedDocumentBinary, jobs/derivadas","Dependências operacionais desta entrega resolvidas: hashes, backup/restauro fresco, conta autenticada, scans e publicações. Dependências regulatórias específicas e editoriais restantes preservadas no critério atual. | Origem: pedido expresso da Tempo de18/10. IDs, especialização por leitura e ponte histórica são escolhas técnicas; sem nova regra organizacional. Ativo inalterado; disponibilização separada. Sem migration/instalação140000/150000; reversão retém somente a rota nova Fintech além dos dados/histórico e associação2→8. Estados e critérios anteriores preservados. | Origem: autorizacao expressa Tempo18/10/2026. Backup/restauro e execucao autenticada concluidos; 140000/150000 presentes uma vez, sem migrations. Reversao parcial preserva dados/auditoria/esquemas e rota compativel Fintech. Matriz/manual/backlog atuais preservados. Ficha integral dos parques separada.","Autorização Tempo para setores-fintech-QA-d5b4dc354265 DOC01 executada, limitada a 16 fontes/compilação e três artigos. Decisões fora deste recorte mantêm-se; nenhuma publicação do restante acervo.",Delta disponibilizado; pendências fora do recorte continuam na mesma matriz.,"Saldo operacional desta entrega: zero. A faixa 1h30–3h era estimativa, não saldo atual. Esforço das lacunas remanescentes depende de delimitação concreta; não repetir aceitações.","outputs/investmoz-legado-ativacao-20261015/RESULTADO-FINAL.json; FINAL-READONLY.json; ANONYMOUS-HTTP.json; RECIBO-INTEGRIDADE-FINAL.json; outputs/investmoz-legado-restantes-setores-preparacao-20261015/INVENTARIO-E-RECORTE.json | 15/10/2026: outputs/investmoz-legado-setores-ativacao-20261015/FINAL-READONLY.json; ANONYMOUS-HTTP.json; SOURCE-DELIVERY.json; FRESH-BACKUP.json. 20 importados privados, scan clean e publicados pela sessão Osmane Nala (2); registos de negócio anteriores preservados. | 15/10/2026: outputs/investmoz-legado-inventario-reconciliado-20261015/SALDO-LEGADO.md; RECONCILIACAO-LEGADO.json; LEITURA-ESTADO.json; inventários existentes atualizados por identidade/versão/hash. | outputs/investmoz-fintech-investimento-QA-20261015/RESULTADO-QA.md; PROVA-DELTA-QA.json; HTTP-DELTA-QA.json; PROVA-FINAL-DELTA-QA.json; HTTP-RECUPERACAO-FINAL-QA.json; MANIFESTO-ENTREGA.json | outputs/investmoz-setores-fintech-ativacao-20261015/RELATORIO-ENTREGA.md; PUBLISHED.json; PRESERVACAO-FINAL.json; HTTP-OPERACIONAL.json; FRESH-BACKUP.json; RECIBO-FINAL.json | 18/10: sectores-duplicacoes-QA-9b6097f97121, organização sectorial/duplicações apenas QA. Energia8/Mineração7; Fintech9 especialização de Mercado6; oportunidade2 reclassificada2→8 sem duplicação; 56HTTP,30serviço,3SQL e5reversão observados. Relatório e manifesto exatos em outputs/investmoz-sectores-duplicacoes-QA-20261018/para-revisao/. | 18/10/2026: disponibilizada sectores-duplicacoes-QA-e9f7d821b6f7 em investemoz:5432, procedimento DOC02. Backup/restauro fresco validado. 34 fontes/167 build. Conta2 com permissao/MFA; oportunidade2 sector2 para8; evento/recibo unicos, operacao27e6a658-d8bc-4d94-ab7b-b977ba56d141. Mesma transacao/ligacao e limpeza SET LOCAL observadas. Provas em outputs/investmoz-sectores-duplicacoes-ativacao-20261018/CONFERENCIA-FINAL.json e para-revisao/RECIBO-EXECUCAO.json. | Homologação teste-investidor 19/10/2026: Sectores e duplicação visual=Instalado mas desabilitado; Legado — conteúdo restante=Instalado mas desabilitado. Saldo derivado e limites em outputs/investmoz-disponibilizacao-integral-20261019/SALDO-E-ACTUALIZACAO-CONSOLIDADA.md. Não substitui estado/provas do activo; trecho documental encerrado, vínculo dossier aberto. | Proposta integral fdcb31f1b5b9: aplicação activa local completa + R2/DOC01/destino reconciliados; schema/build/recuperação de contexto e reversão de apresentação ensaiados no clone isolado. Não instalado remotamente. Inc. QA territoriais/Inhambane/programas separados. Limites e decisões em outputs/investmoz-disponibilizacao-integral-20261019/PROPOSTA-INTEGRAL-PARA-DECISAO.md. | Execução autorizada fdcb31f1b5b9 concluída em teste-investidor: Sectores e duplicação visual=Disponível; Legado — conteúdo restante=Instalado mas desabilitado. 1080 hashes iguais, schema171/88, custódia/scan/recuperação reais. Sem publicação ou papéis novos. Vínculo dossier legítimo pendente; incrementos QA separados. Limites em outputs/investmoz-disponibilizacao-integral-20261019/RESULTADO-DISPONIBILIZACAO-INTEGRAL.md; não encerra critérios globais não demonstrados.
+[UTILIZACAO-HOMOLOGACAO-20261019] 5: Disponibilidade condicionada conforme limite registado — Ecrã aberto: dez sectores principais, especialização Fintech sem cartão principal duplicado; 12 registos conservados. | 8: Disponibilidade condicionada conforme limite registado — Adaptador habilitado; artigos/imagens transportados privadamente, sem os publicar. | Recorte executável C concluído em QA. Restantes coberturas sectoriais/benefícios e encaminhamento visual de zona real têm limites concretos no manual; não bloqueiam os ramos já documentados. Integração/habilitação no destino não executadas. | Integração/habilitação deste recorte executadas em22/10/2026; referências anteriores a operação pendente são históricas. Não reabrir as provas aceites. Delta de complementos preparado/verificado em QA; conferência visual e instalação no destino ainda não realizadas. Relações sem oferta identificada permanecem necessidades, sem presumir inexistência no acervo. Cobertura transversal e restantes pendências desta linha mantêm-se. Actualização visual 23/10/2026: supera apenas a pendência visual dos complementos no recorte documentado. Não demonstra contextos específicos de várias oportunidades em zonas/parques, Terra/DUAT, Balcão ou manifestação. Sem disponibilização no destino nem fecho global.","documents, biblioteca, importação autenticada, VerifiedDocumentBinary, jobs/derivadas","Dependências operacionais desta entrega resolvidas: hashes, backup/restauro fresco, conta autenticada, scans e publicações. Dependências regulatórias específicas e editoriais restantes preservadas no critério atual. | Origem: pedido expresso da Tempo de18/10. IDs, especialização por leitura e ponte histórica são escolhas técnicas; sem nova regra organizacional. Ativo inalterado; disponibilização separada. Sem migration/instalação140000/150000; reversão retém somente a rota nova Fintech além dos dados/histórico e associação2→8. Estados e critérios anteriores preservados. | Origem: autorizacao expressa Tempo18/10/2026. Backup/restauro e execucao autenticada concluidos; 140000/150000 presentes uma vez, sem migrations. Reversao parcial preserva dados/auditoria/esquemas e rota compativel Fintech. Matriz/manual/backlog atuais preservados. Ficha integral dos parques separada.","Autorização Tempo para setores-fintech-QA-d5b4dc354265 DOC01 executada, limitada a 16 fontes/compilação e três artigos. Decisões fora deste recorte mantêm-se; nenhuma publicação do restante acervo.",Delta disponibilizado; pendências fora do recorte continuam na mesma matriz.,"Saldo operacional desta entrega: zero. A faixa 1h30–3h era estimativa, não saldo atual. Esforço das lacunas remanescentes depende de delimitação concreta; não repetir aceitações.","outputs/investmoz-legado-ativacao-20261015/RESULTADO-FINAL.json; FINAL-READONLY.json; ANONYMOUS-HTTP.json; RECIBO-INTEGRIDADE-FINAL.json; outputs/investmoz-legado-restantes-setores-preparacao-20261015/INVENTARIO-E-RECORTE.json | 15/10/2026: outputs/investmoz-legado-setores-ativacao-20261015/FINAL-READONLY.json; ANONYMOUS-HTTP.json; SOURCE-DELIVERY.json; FRESH-BACKUP.json. 20 importados privados, scan clean e publicados pela sessão Osmane Nala (2); registos de negócio anteriores preservados. | 15/10/2026: outputs/investmoz-legado-inventario-reconciliado-20261015/SALDO-LEGADO.md; RECONCILIACAO-LEGADO.json; LEITURA-ESTADO.json; inventários existentes atualizados por identidade/versão/hash. | outputs/investmoz-fintech-investimento-QA-20261015/RESULTADO-QA.md; PROVA-DELTA-QA.json; HTTP-DELTA-QA.json; PROVA-FINAL-DELTA-QA.json; HTTP-RECUPERACAO-FINAL-QA.json; MANIFESTO-ENTREGA.json | outputs/investmoz-setores-fintech-ativacao-20261015/RELATORIO-ENTREGA.md; PUBLISHED.json; PRESERVACAO-FINAL.json; HTTP-OPERACIONAL.json; FRESH-BACKUP.json; RECIBO-FINAL.json | 18/10: sectores-duplicacoes-QA-9b6097f97121, organização sectorial/duplicações apenas QA. Energia8/Mineração7; Fintech9 especialização de Mercado6; oportunidade2 reclassificada2→8 sem duplicação; 56HTTP,30serviço,3SQL e5reversão observados. Relatório e manifesto exatos em outputs/investmoz-sectores-duplicacoes-QA-20261018/para-revisao/. | 18/10/2026: disponibilizada sectores-duplicacoes-QA-e9f7d821b6f7 em investemoz:5432, procedimento DOC02. Backup/restauro fresco validado. 34 fontes/167 build. Conta2 com permissao/MFA; oportunidade2 sector2 para8; evento/recibo unicos, operacao27e6a658-d8bc-4d94-ab7b-b977ba56d141. Mesma transacao/ligacao e limpeza SET LOCAL observadas. Provas em outputs/investmoz-sectores-duplicacoes-ativacao-20261018/CONFERENCIA-FINAL.json e para-revisao/RECIBO-EXECUCAO.json. | Homologação teste-investidor 19/10/2026: Sectores e duplicação visual=Instalado mas desabilitado; Legado — conteúdo restante=Instalado mas desabilitado. Saldo derivado e limites em outputs/investmoz-disponibilizacao-integral-20261019/SALDO-E-ACTUALIZACAO-CONSOLIDADA.md. Não substitui estado/provas do activo; trecho documental encerrado, vínculo dossier aberto. | Proposta integral fdcb31f1b5b9: aplicação activa local completa + R2/DOC01/destino reconciliados; schema/build/recuperação de contexto e reversão de apresentação ensaiados no clone isolado. Não instalado remotamente. Inc. QA territoriais/Inhambane/programas separados. Limites e decisões em outputs/investmoz-disponibilizacao-integral-20261019/PROPOSTA-INTEGRAL-PARA-DECISAO.md. | Execução autorizada fdcb31f1b5b9 concluída em teste-investidor: Sectores e duplicação visual=Disponível; Legado — conteúdo restante=Instalado mas desabilitado. 1080 hashes iguais, schema171/88, custódia/scan/recuperação reais. Sem publicação ou papéis novos. Vínculo dossier legítimo pendente; incrementos QA separados. Limites em outputs/investmoz-disponibilizacao-integral-20261019/RESULTADO-DISPONIBILIZACAO-INTEGRAL.md; não encerra critérios globais não demonstrados.
[UTILIZACAO-HOMOLOGACAO-20261019] Leitura nominal de contas/recursos no destino; saldo18/10; prévia29 sem escrita; comparação de hashes QA separados. outputs/investmoz-disponibilizacao-integral-20261019/UTILIZACAO-EFECTIVA-HOMOLOGACAO.md
[RECONCILIACAO-43-20261019] Código e critérios confrontados com leitura READ ONLY fresca; PROVA-RECONCILIACAO-43-LEITURA.json, RECONCILIACAO-43-QA-FONTES.json, RECONCILIACAO-43-SCHEMA-QA.json. Não encerra critério funcional por inventário.
-[PLANO-P1-P6-20261019] Plano Tempo: 27–46 h disponibilização; P7 e desenvolvimento separados. Inclusão 36–39 expressa para decisão; sem publicação automática. Revisão de proposta d87970e701f0. Roteiro no manual existente; não encerra critério por instalação. | 22/10/2026: primeiro incremento QA na branch codex/project-context-continuity-QA; contexto único por dossier/conta, herança com edições preservadas, moeda/IVA mensal e análise territorial explícita. Ver traceability-and-manual.md, secção Continuidade e adaptação contextual. 4 HTTP/74 asserções; 8 frontend; percurso visual A/B e nova sessão. Não encerra adaptação jurídica integral. | 22/10: revisão de a76369eb concluída no âmbito aceite por prova equivalente do regresso; A/B não repetidos. Tabela do primeiro percurso de investimento privado no manual: condições, artigos/período e efeitos; preparação documental, sem ligação executável nova. | 22/10/2026 — percurso privado executável em QA (base52fbb146): condições oficiais seleccionam mero registo/autorização, alternativas documentais e próximos passos; contexto C v4 mero registo após distinção directo/indirecto (Lei14/R13); prévia visual, vínculo inactivo preservado e relatório v3 por autorização conservado como histórico. 3 testes/96 asserções e um teste do novo relatório, tipos/build aprovados. Sem validação jurídica genérica adicional; orientação permanente Tempo em AGENTS. Branch codex/private-investment-path-executable-QA; sem integração main/alteração da homologação/activação fiscal. | 22/10/2026 — prova complementar exclusiva do relatório: recuperação UI do contexto v4, rascunho v5 e Word novo por mero registo; estudo/capacidade não aplicáveis. Word v3 preservado/identificado como histórico, hash inalterado. Sem alteração funcional ou repetição dos ensaios aceites. Dependências Git: a76369eb → 52fbb146 documental → a1fbda06; integrar após decisão, preservando main concorrente. | 22/10/2026 — disponibilizado por autorização Tempo: revisão servida042ffbde (inclui a76369eb/a1fbda06/064296e1 e correcção dirigida da recuperação legada). Percurso habilitado na homologação, versão private-investment-preparation-2026-v1; main ancestral preservado, sem conflitos/force-push. Zero migrations/importações/fixtures; nenhuma nova regra fiscal publicada/activada. Revisão/configuração/rotas conferidas; provas funcionais QA reutilizadas. | 22/10/2026 READ ONLY: catalogo Inhambane/Vilankulo vazio sem erro; zero publicadas tambem em Cabo Delgado. URL recebido nao identifica dossier. Falha da previa territorial e termino sem resposta continuam abertos; falta URL do dossier para leitura historica sem recriacao. | 22/10/2026 esclarecimento Tempo: pesquisa publica sem dossier; retirada dependencia de URL pessoal/confirmacao de impacto. Correcao QA: search-territory.ts em links carteira/catalogo/zonas, menus e detalhes. Seis testes Node, types e build isolado; prova visual carteira->Inhambane/Vilankulo->catalogo, recarregar, voltar e zonas. Mudanca de provincia limpa distrito. Nenhuma publicacao. Manual: Continuidade territorial da pesquisa.",documentos e legado,15/10/2026 — fecho do piloto ativo e preparação por leitura dos restantes setores; sem novos testes funcionais.,,,"[Visual QA 10/10/2026] Cobertura integral, mais perfis/dispositivos, leitor de ecrã e editor administrativoC74 não demonstrados. Mercado Financeiro permanece privado/corpo vazio confirmado na origem; rotas404. Sem associação automática Turismo→cadastro territorial, sem fundir Energia/Mineração. | Histórico preservado: [Visual QA 10 /10/2026 ] Cobertura integral, mais perfis /dispositivos , leitor de ecrã e editor administrativo C74 não demonstrados. Mercado Financeiro permanece privado /corpo vazio confirmado na origem; rotas 404. Sem associação automática Turismo→cadastro territorial, sem fundir Energia /Mineração. | Histórico preservado: 17 caminhos com texto preservados incluindo agronegócio e 4 novos retornos; restante mapa URL /aliases/acervo ainda incompleto. C37 /QA18 e A /B não encerrados. | Histórico anterior: Contexto /retorno do piloto observados; mapa de migração dos restantes URL s ainda pendente. C37 /QA18 e cenários A /B completos não foram executados neste ensaio.",Biblioteca/documentos existentes; Balcão+09/190000 para dossier. Expansão cartográfica exige correspondências fundamentadas. C37/A-B/SLA/perfis e ativação mantêm âmbito próprio.,Mantido /agronegocio; /explorar/agronegocio novo. Referência comID/hash/versão/ator/data e retorno autorizado ao mesmo dossier; replay sem duplicação; cinco fases/19etapas conservadas.,"[Interface legado QA 10 /10/2026 ] Chromium instalado, contextos isolados, desktop 1440 px / móvel 390 px: fotografia /fontes/paleta , pesquisa hit /miss , Enter /foco de 3 px, links carteira /zonas/biblioteca/oportunidade. Promotor QA21 : login→MFA→dossier→fonte→retorno→logout→novo contexto /MFA →recuperação /F5 →associação repetida. Conta 23:403 e artigo público sem título privado; anónimo sem contexto privado. UI observada; referência /evento únicos e originais /hash/scan confirmados em leitura QA. legacy-content-browser-qa.json ; legacy-content-browser-persistence-qa.json ; legado-piloto-qa.md . | Evidência anterior preservada: legado-piloto-qa.md ; legacy-content-http-qa.json : recursos 6 /5 públicos, hashes verificados, pesquisa, login /MFA21 , criação /continuação , logout /nova sessão, recuperação, replay único e isolamento. Interface não observada. | [Confirmação manual recebida 10 /10/2026 ] Responsável confirmou leitura pública → autenticação → criar /escolher dossier → guardar referência → nova sessão → recuperar dossier e abrir artigo. Confirmação declarada, sem conta /perfil/dispositivo/data de execução identificados. Não comprova MFA específico, ensaios móveis, acessibilidade, outros perfis, deduplicação, C37 /QA18 ou A /B. Ver legado-piloto-qa.md , confirmação manual. | [Setores QA após C71 10 /10/2026 ] 22 originais importados privadamente após prévia renovada, hashes recuperados,22 scans ClamD reais e replay sem novos documentos /recursos/auditoria/scans. Divulgação autenticada separada:16 artigos com texto+5 imagens públicos; Mercado Financeiro privado, vazio confirmado na origem HTML e Inertia 200. Chromium desktop:16 artigos, pesquisa /imagens , Energia e Mineração distintas, C72 título preservado; QA21 criou 4 dossiers, retorno, logout /novaMFA/F5/replay ; QA23 negado 403 e anónimo sem contexto. Persistência READ ONLY:8 dossiers HTTP /Chromium , uma referência /evento cada,22 hashes únicos,0 relações geográficas automáticas. legacy-sectors-{apply,replay,http,browser,persistence} -qa.json ; legacy-financial-origin-20261010 /proof.json. C37 /QA18 ,A /B ,móvel /acessibilidade/cobertura integral não encerrados. | [Visual QA 10 /10/2026 ] Falhas C77 – C83 corrigidas em QA: landmarks, nome ARIA do mapa, hierarquia de títulos do texto legado sem alteraroriginal /hash , tabelas financeiras focáveis por teclado, reflow de tarefas /select/data no dossier, langpt-MZ apenas no router QA e proteção da recuperação assíncrona do simulador. Após correções 15 execuções axe /390 –320–1440 px,0 violações automáticas /0overflow e idioma PT; skiplink primeiro Tab→conteúdo em 3 páginas; tabelas financeiras focadas /teclas no Chromium . Não equivale a leitor de ecrã, zoom /dispositivo real ou cobertura de todo oportal. Legacy Content Test 5 /84 e rastreio MFA 1 /14 são provas específicas, não contagem substituta de percursos. visual-followup-chromium-20261010.json e screenshots; históricos de falhas mantidos. | [Visual QA 10/10/2026] FalhasC77–C83 corrigidas emQA: landmarks, nomeARIA do mapa, hierarquia de títulos do texto legado sem alteraroriginal/hash, tabelas financeiras focáveis por teclado, reflow de tarefas/select/data no dossier, langpt-MZ apenas no routerQA e proteção da recuperação assíncrona do simulador. Após correções15execuções axe/390–320–1440px,0violações automáticas/0overflow e idiomaPT; skiplink primeiroTab→conteúdo em3páginas; tabelas financeiras focadas/teclas no Chromium. Não equivale a leitor de ecrã, zoom/dispositivo real ou cobertura de todo oportal. LegacyContentTest5/84 e rastreioMFA1/14 são provas específicas, não contagem substituta de percursos. visual-followup-chromium-20261010.json e screenshots; históricos de falhas mantidos.","GET públicos e escritas autenticadas no servidor18097, alvo real55441 confirmado; publicação separada do importador. | [Setores QA após C71 10/10/2026] 22 originais importados privadamente após prévia renovada, hashes recuperados,22 scans ClamD reais e replay sem novos documentos/recursos/auditoria/scans. Divulgação autenticada separada:16 artigos com texto+5 imagens públicos; Mercado Financeiro privado, vazio confirmado na origem HTML e Inertia200. Chromium desktop:16 artigos, pesquisa/imagens, Energia e Mineração distintas, C72 título preservado; QA21 criou4 dossiers, retorno, logout/novaMFA/F5/replay; QA23 negado403 e anónimo sem contexto. Persistência READ ONLY:8 dossiers HTTP/Chromium, uma referência/evento cada,22 hashes únicos,0 relações geográficas automáticas. legacy-sectors-{apply,replay,http,browser,persistence}-qa.json; legacy-financial-origin-20261010/proof.json. C37/QA18,A/B,móvel/acessibilidade/cobertura integral não encerrados.",,,"Fecho exclusivo do piloto agronegócio; não cobre todo o acervo, versões, URLs, anexos ou setores. Mercado Financeiro vazio continua separado. | Catálogo visual sintético QA; ZEE/ZFI apenas controlos HTTP revertidos; condições/benefícios não executáveis indeterminados; sem ensaio visual integral dos outros consumidores. | C exclusivamente sintético; ZEE/ZFI encaminhamento por predicados, sem reconhecimento de zona real; download concluído apesar de perda da ferramenta. Provas A/B/cálculos/exportadores aceites não repetidas.","2–8 h de reconciliação/ensaio por consumidor agrupado, pressupondo dados sintéticos/perfis preparados. Alteração: estimar após reprodução concreta; variante integral pode exceder esta faixa.",,,"Recorte adaptativo de preparação disponibilizado/habilitado na homologação, revisão042ffbde. Limitações globais/sectoriais/fiscais mantêm âmbito próprio."
+[PLANO-P1-P6-20261019] Plano Tempo: 27–46 h disponibilização; P7 e desenvolvimento separados. Inclusão 36–39 expressa para decisão; sem publicação automática. Revisão de proposta d87970e701f0. Roteiro no manual existente; não encerra critério por instalação. | 22/10/2026: primeiro incremento QA na branch codex/project-context-continuity-QA; contexto único por dossier/conta, herança com edições preservadas, moeda/IVA mensal e análise territorial explícita. Ver traceability-and-manual.md, secção Continuidade e adaptação contextual. 4 HTTP/74 asserções; 8 frontend; percurso visual A/B e nova sessão. Não encerra adaptação jurídica integral. | 22/10: revisão de a76369eb concluída no âmbito aceite por prova equivalente do regresso; A/B não repetidos. Tabela do primeiro percurso de investimento privado no manual: condições, artigos/período e efeitos; preparação documental, sem ligação executável nova. | 22/10/2026 — percurso privado executável em QA (base52fbb146): condições oficiais seleccionam mero registo/autorização, alternativas documentais e próximos passos; contexto C v4 mero registo após distinção directo/indirecto (Lei14/R13); prévia visual, vínculo inactivo preservado e relatório v3 por autorização conservado como histórico. 3 testes/96 asserções e um teste do novo relatório, tipos/build aprovados. Sem validação jurídica genérica adicional; orientação permanente Tempo em AGENTS. Branch codex/private-investment-path-executable-QA; sem integração main/alteração da homologação/activação fiscal. | 22/10/2026 — prova complementar exclusiva do relatório: recuperação UI do contexto v4, rascunho v5 e Word novo por mero registo; estudo/capacidade não aplicáveis. Word v3 preservado/identificado como histórico, hash inalterado. Sem alteração funcional ou repetição dos ensaios aceites. Dependências Git: a76369eb → 52fbb146 documental → a1fbda06; integrar após decisão, preservando main concorrente. | 22/10/2026 — disponibilizado por autorização Tempo: revisão servida042ffbde (inclui a76369eb/a1fbda06/064296e1 e correcção dirigida da recuperação legada). Percurso habilitado na homologação, versão private-investment-preparation-2026-v1; main ancestral preservado, sem conflitos/force-push. Zero migrations/importações/fixtures; nenhuma nova regra fiscal publicada/activada. Revisão/configuração/rotas conferidas; provas funcionais QA reutilizadas. | 22/10/2026 READ ONLY: catalogo Inhambane/Vilankulo vazio sem erro; zero publicadas tambem em Cabo Delgado. URL recebido nao identifica dossier. Falha da previa territorial e termino sem resposta continuam abertos; falta URL do dossier para leitura historica sem recriacao. | 22/10/2026 esclarecimento Tempo: pesquisa publica sem dossier; retirada dependencia de URL pessoal/confirmacao de impacto. Correcao QA: search-territory.ts em links carteira/catalogo/zonas, menus e detalhes. Seis testes Node, types e build isolado; prova visual carteira->Inhambane/Vilankulo->catalogo, recarregar, voltar e zonas. Mudanca de provincia limpa distrito. Nenhuma publicacao. Manual: Continuidade territorial da pesquisa. 23/10/2026: Tempo encerrou os tres casos no ambito reportado (6b544548; recibo 4098192a), sem repetir. Avaliacao estatica dos trechos restantes no manual existente, seccao de 23/10: escolhas por ficha preservadas no contrato; parques e campos comuns usam a primeira escolha; land/desk/submission reutilizam campos comuns, sem lista OpportunityChoices no DossierPrefill. Demonstracao multi-oportunidade nos restantes formularios pendente. Aplicacao transversal parcial. Sem alteracao no activo. 23/10/2026 — Complementos: causa delimitada no campo textual focus e ausência de resolução/selecção complementar; incremento preparado em QA no percurso existente. Fichas/IDs existentes por relações documentadas, necessidades sem oferta, serviços/instrumentos publicados associados à origem, localização por complemento, rascunho/prévia/confirmação/histórico no dossier, apresentação nos quatro formulários e snapshot/linhas de relatório. Provas e limites em docs/investmoz/unification/investment-complements-qa-receipt-20261023.json e secção Complementos ligados ao investimento e ao dossier do manual. Sem instalação/alteração no activo. Não repete 6b544548/4098192a nem encerra aplicação transversal. 23/10/2026 — Conferência visual QA dos complementos concluída no recorte pedido: ficha 286 pela identidade existente; Fiação como necessidade/ideia; serviço sintético QA 17 e frio 310 ligados à segunda oportunidade 309 em Gaza, conservando a primeira 286 em Sofala. Confirmação e recarregamento recuperaram selecção, origem e localização; desconhecidos mantidos Por definir. Dossier sintético 6fdbb963-726e-4048-9884-8cddc04e77a6. Provas: outputs/complements-visual-20261023/; recibo existente investment-complements-qa-receipt-20261023.json actualizado. Serviço e segunda oportunidade são fixtures explícitas, sem alegar oferta real no destino. Homologação inalterada; fechos anteriores não repetidos.",documentos e legado,15/10/2026 — fecho do piloto ativo e preparação por leitura dos restantes setores; sem novos testes funcionais.,,,"[Visual QA 10/10/2026] Cobertura integral, mais perfis/dispositivos, leitor de ecrã e editor administrativoC74 não demonstrados. Mercado Financeiro permanece privado/corpo vazio confirmado na origem; rotas404. Sem associação automática Turismo→cadastro territorial, sem fundir Energia/Mineração. | Histórico preservado: [Visual QA 10 /10/2026 ] Cobertura integral, mais perfis /dispositivos , leitor de ecrã e editor administrativo C74 não demonstrados. Mercado Financeiro permanece privado /corpo vazio confirmado na origem; rotas 404. Sem associação automática Turismo→cadastro territorial, sem fundir Energia /Mineração. | Histórico preservado: 17 caminhos com texto preservados incluindo agronegócio e 4 novos retornos; restante mapa URL /aliases/acervo ainda incompleto. C37 /QA18 e A /B não encerrados. | Histórico anterior: Contexto /retorno do piloto observados; mapa de migração dos restantes URL s ainda pendente. C37 /QA18 e cenários A /B completos não foram executados neste ensaio.",Biblioteca/documentos existentes; Balcão+09/190000 para dossier. Expansão cartográfica exige correspondências fundamentadas. C37/A-B/SLA/perfis e ativação mantêm âmbito próprio.,Mantido /agronegocio; /explorar/agronegocio novo. Referência comID/hash/versão/ator/data e retorno autorizado ao mesmo dossier; replay sem duplicação; cinco fases/19etapas conservadas.,"[Interface legado QA 10 /10/2026 ] Chromium instalado, contextos isolados, desktop 1440 px / móvel 390 px: fotografia /fontes/paleta , pesquisa hit /miss , Enter /foco de 3 px, links carteira /zonas/biblioteca/oportunidade. Promotor QA21 : login→MFA→dossier→fonte→retorno→logout→novo contexto /MFA →recuperação /F5 →associação repetida. Conta 23:403 e artigo público sem título privado; anónimo sem contexto privado. UI observada; referência /evento únicos e originais /hash/scan confirmados em leitura QA. legacy-content-browser-qa.json ; legacy-content-browser-persistence-qa.json ; legado-piloto-qa.md . | Evidência anterior preservada: legado-piloto-qa.md ; legacy-content-http-qa.json : recursos 6 /5 públicos, hashes verificados, pesquisa, login /MFA21 , criação /continuação , logout /nova sessão, recuperação, replay único e isolamento. Interface não observada. | [Confirmação manual recebida 10 /10/2026 ] Responsável confirmou leitura pública → autenticação → criar /escolher dossier → guardar referência → nova sessão → recuperar dossier e abrir artigo. Confirmação declarada, sem conta /perfil/dispositivo/data de execução identificados. Não comprova MFA específico, ensaios móveis, acessibilidade, outros perfis, deduplicação, C37 /QA18 ou A /B. Ver legado-piloto-qa.md , confirmação manual. | [Setores QA após C71 10 /10/2026 ] 22 originais importados privadamente após prévia renovada, hashes recuperados,22 scans ClamD reais e replay sem novos documentos /recursos/auditoria/scans. Divulgação autenticada separada:16 artigos com texto+5 imagens públicos; Mercado Financeiro privado, vazio confirmado na origem HTML e Inertia 200. Chromium desktop:16 artigos, pesquisa /imagens , Energia e Mineração distintas, C72 título preservado; QA21 criou 4 dossiers, retorno, logout /novaMFA/F5/replay ; QA23 negado 403 e anónimo sem contexto. Persistência READ ONLY:8 dossiers HTTP /Chromium , uma referência /evento cada,22 hashes únicos,0 relações geográficas automáticas. legacy-sectors-{apply,replay,http,browser,persistence} -qa.json ; legacy-financial-origin-20261010 /proof.json. C37 /QA18 ,A /B ,móvel /acessibilidade/cobertura integral não encerrados. | [Visual QA 10 /10/2026 ] Falhas C77 – C83 corrigidas em QA: landmarks, nome ARIA do mapa, hierarquia de títulos do texto legado sem alteraroriginal /hash , tabelas financeiras focáveis por teclado, reflow de tarefas /select/data no dossier, langpt-MZ apenas no router QA e proteção da recuperação assíncrona do simulador. Após correções 15 execuções axe /390 –320–1440 px,0 violações automáticas /0overflow e idioma PT; skiplink primeiro Tab→conteúdo em 3 páginas; tabelas financeiras focadas /teclas no Chromium . Não equivale a leitor de ecrã, zoom /dispositivo real ou cobertura de todo oportal. Legacy Content Test 5 /84 e rastreio MFA 1 /14 são provas específicas, não contagem substituta de percursos. visual-followup-chromium-20261010.json e screenshots; históricos de falhas mantidos. | [Visual QA 10/10/2026] FalhasC77–C83 corrigidas emQA: landmarks, nomeARIA do mapa, hierarquia de títulos do texto legado sem alteraroriginal/hash, tabelas financeiras focáveis por teclado, reflow de tarefas/select/data no dossier, langpt-MZ apenas no routerQA e proteção da recuperação assíncrona do simulador. Após correções15execuções axe/390–320–1440px,0violações automáticas/0overflow e idiomaPT; skiplink primeiroTab→conteúdo em3páginas; tabelas financeiras focadas/teclas no Chromium. Não equivale a leitor de ecrã, zoom/dispositivo real ou cobertura de todo oportal. LegacyContentTest5/84 e rastreioMFA1/14 são provas específicas, não contagem substituta de percursos. visual-followup-chromium-20261010.json e screenshots; históricos de falhas mantidos.","GET públicos e escritas autenticadas no servidor18097, alvo real55441 confirmado; publicação separada do importador. | [Setores QA após C71 10/10/2026] 22 originais importados privadamente após prévia renovada, hashes recuperados,22 scans ClamD reais e replay sem novos documentos/recursos/auditoria/scans. Divulgação autenticada separada:16 artigos com texto+5 imagens públicos; Mercado Financeiro privado, vazio confirmado na origem HTML e Inertia200. Chromium desktop:16 artigos, pesquisa/imagens, Energia e Mineração distintas, C72 título preservado; QA21 criou4 dossiers, retorno, logout/novaMFA/F5/replay; QA23 negado403 e anónimo sem contexto. Persistência READ ONLY:8 dossiers HTTP/Chromium, uma referência/evento cada,22 hashes únicos,0 relações geográficas automáticas. legacy-sectors-{apply,replay,http,browser,persistence}-qa.json; legacy-financial-origin-20261010/proof.json. C37/QA18,A/B,móvel/acessibilidade/cobertura integral não encerrados.",,,"Fecho exclusivo do piloto agronegócio; não cobre todo o acervo, versões, URLs, anexos ou setores. Mercado Financeiro vazio continua separado. | Catálogo visual sintético QA; ZEE/ZFI apenas controlos HTTP revertidos; condições/benefícios não executáveis indeterminados; sem ensaio visual integral dos outros consumidores. | C exclusivamente sintético; ZEE/ZFI encaminhamento por predicados, sem reconhecimento de zona real; download concluído apesar de perda da ferramenta. Provas A/B/cálculos/exportadores aceites não repetidas.","2–8 h de reconciliação/ensaio por consumidor agrupado, pressupondo dados sintéticos/perfis preparados. Alteração: estimar após reprodução concreta; variante integral pode exceder esta faixa.",,,"Recorte adaptativo de preparação disponibilizado/habilitado na homologação, revisão042ffbde. Limitações globais/sectoriais/fiscais mantêm âmbito próprio."
AUD-LEG-07,"Verificar imagens, anexos, links, pesquisa, permissões e duplicações, registando aceitação visual separadamente","Pedido direto do responsável,10/10/2026, integração do legado emQA §7; https://investemoz.tempo.co.mz/; legado-piloto-qa.md",biblioteca / conteúdo público / percurso do investidor,/explorar/agronegocio; /agronegocio; /documentos/6; /investimentos/a-partir-de/agronegocio; /investimentos/{id}/conteudos,"documents, biblioteca, importação autenticada, VerifiedDocumentBinary, jobs/derivadas. Capacidade existente associada ao domínio; correspondência integral desta cláusula só quando demonstrada na prova individual.","Disponibilizado em 15/10/2026, setores-fintech-QA-d5b4dc354265 DOC01: 16 fontes e compilação; sete entradas setoriais e especialização Fintech no dossier; três artigos publicados (recursos reais 27/28/29), imagem 24 reutilizada por identidade/hash. Flags existentes preservadas; sem migrations/categorias novas. B e COUNTRY02 preservados.","QA aceite reutilizada; execução ativa com backup/restauro, scan real, publicação expressa e HTTP anónimo200. Sem repetir percurso. outputs/investmoz-legado-ativacao-20261015/RESULTADO-FINAL.json; FINAL-READONLY.json; ANONYMOUS-HTTP.json; RECIBO-INTEGRIDADE-FINAL.json; outputs/investmoz-legado-restantes-setores-preparacao-20261015/INVENTARIO-E-RECORTE.json",Implementado parcialmente — entradas setoriais e três artigos ativos,"Inventário reconciliado: 17 artigos e cinco imagens publicados; 31 artigos com corpo por integrar (5 setoriais, 8 trabalho doméstico, 18 históricos/noticiosos); Mercado Financeiro vazio e post 74364 sem título separados. Onze variantes de URL e 43 capturas adicionais de artigos já cobertas, sem novas identidades. Demais referências, anexos técnicos e sitemap misto conservam recorte próprio.",Scanner/worker/GD/WebP e originais privados; ACL por oportunidade/sala diferente de partilha individual não implementada. LegadoOFF. Nenhuma nova decisão identificada para reconciliar/demonstrar esta cláusula. Decisões específicas só após localizar a regra correspondente.,Cada consumidor apresenta ficheiro/link/resultado íntegro; importação/pesquisa/recuperação/permissões verificadas e resultados visuais registados por ação.,P1,"Legado post171985 modificado2026-04-20; categoria Oportunidades preservada como metadado, entidade guia. Metadados/sitemapInfopublica e área de investimento distintos; não remapear por nome.",USR-LEG-20261010-07,1,"[{""id"":""USR-LEG-20261010-07"",""pedido"":""Verificar imagens, anexos, links, pesquisa, permissões e duplicações, registando aceitação visual separadamente"",""fontes"":[""Pedido direto10/10/2026 §7""],""aceitacao"":""Cada consumidor apresenta ficheiro/link/resultado íntegro; importação/pesquisa/recuperação/permissões verificadas e resultados visuais registados por ação."",""estado"":""parcial"",""variantes"":""IntegraçãoprogressivaQA, sem substituição de pendências anteriores"",""modulo"":""legado/biblioteca/percurso"",""confirmacao_manual"":{""recebida_em"":""2026-10-10"",""fonte"":""Mensagem do responsável nesta conversa"",""conta"":""não indicada"",""perfil"":""não indicado"",""dispositivo"":""não indicado"",""criterios"":[{""criterio"":""guardar_referencia"",""estado"":""confirmado manualmente"",""ambito"":""piloto agronegócio QA""},{""criterio"":""recuperar_dossier"",""estado"":""confirmado manualmente"",""ambito"":""piloto agronegócio QA""},{""criterio"":""abrir_artigo"",""estado"":""confirmado manualmente"",""ambito"":""piloto agronegócio QA""}],""exclusoes"":[""móvel"",""acessibilidade"",""outros perfis"",""C37 conta18"",""cenários A/B"",""cobertura integral""]},""incremento_setores_qa_20261010"":{""atualizado_em"":""2026-10-10T16:23:25.695297+00:00"",""ambito"":""QA18097;base55441isolada"",""evidencia"":""22 originais importados privadamente após prévia renovada, hashes recuperados,22 scans ClamD reais e replay sem novos documentos/recursos/auditoria/scans. Divulgação autenticada separada:16 artigos com texto+5 imagens públicos; Mercado Financeiro privado, vazio confirmado na origem HTML e Inertia200. Chromium desktop:16 artigos, pesquisa/imagens, Energia e Mineração distintas, C72 título preservado; QA21 criou4 dossiers, retorno, logout/novaMFA/F5/replay; QA23 negado403 e anónimo sem contexto. Persistência READ ONLY:8 dossiers HTTP/Chromium, uma referência/evento cada,22 hashes únicos,0 relações geográficas automáticas. legacy-sectors-{apply,replay,http,browser,persistence}-qa.json; legacy-financial-origin-20261010/proof.json. C37/QA18,A/B,móvel/acessibilidade/cobertura integral não encerrados."",""estado_requisito_atual"":""parcial"",""exclusoes"":[""ativação"",""C37/QA18"",""A/B"",""móvel"",""acessibilidade"",""cobertura integral""]},""incremento_visual_qa_20261010"":{""atualizado_em"":""2026-10-10T17:57:54.604301+00:00"",""ambito"":""QA18097/55441 exclusivamente"",""evidencia"":""FalhasC77–C83 corrigidas emQA: landmarks, nomeARIA do mapa, hierarquia de títulos do texto legado sem alteraroriginal/hash, tabelas financeiras focáveis por teclado, reflow de tarefas/select/data no dossier, langpt-MZ apenas no routerQA e proteção da recuperação assíncrona do simulador. Após correções15execuções axe/390–320–1440px,0violações automáticas/0overflow e idiomaPT; skiplink primeiroTab→conteúdo em3páginas; tabelas financeiras focadas/teclas no Chromium. Não equivale a leitor de ecrã, zoom/dispositivo real ou cobertura de todo oportal. LegacyContentTest5/84 e rastreioMFA1/14 são provas específicas, não contagem substituta de percursos. visual-followup-chromium-20261010.json e screenshots; históricos de falhas mantidos."",""lacuna_atual"":""Cobertura integral, mais perfis/dispositivos, leitor de ecrã e editor administrativoC74 não demonstrados. Mercado Financeiro permanece privado/corpo vazio confirmado na origem; rotas404. Sem associação automática Turismo→cadastro territorial, sem fundir Energia/Mineração."",""estado_global_preservado"":""parcial"",""ativacao"":false}}]","[Interface legado QA 10 /10/2026 ] Render /cliques observados no Chromium QA, com recuperação noutra sessão /F5 e negação à conta 23. Não é o navegador pessoal do utilizador nem o ensaio C37 /QA18. | Evidência anterior preservada: React preparado e build QA; dados Inertia recuperados. Navegador indisponível; roteiro manual em legado-piloto-qa.md . Aceitação visual pendente. | [Confirmação manual recebida 10 /10/2026 ] Responsável confirmou leitura pública → autenticação → criar /escolher dossier → guardar referência → nova sessão → recuperar dossier e abrir artigo. Confirmação declarada, sem conta /perfil/dispositivo/data de execução identificados. Não comprova MFA específico, ensaios móveis, acessibilidade, outros perfis, deduplicação, C37 /QA18 ou A /B. Ver legado-piloto-qa.md , confirmação manual. | [Setores QA após C71 10 /10/2026 ] 22 originais importados privadamente após prévia renovada, hashes recuperados,22 scans ClamD reais e replay sem novos documentos /recursos/auditoria/scans. Divulgação autenticada separada:16 artigos com texto+5 imagens públicos; Mercado Financeiro privado, vazio confirmado na origem HTML e Inertia 200. Chromium desktop:16 artigos, pesquisa /imagens , Energia e Mineração distintas, C72 título preservado; QA21 criou 4 dossiers, retorno, logout /novaMFA/F5/replay ; QA23 negado 403 e anónimo sem contexto. Persistência READ ONLY:8 dossiers HTTP /Chromium , uma referência /evento cada,22 hashes únicos,0 relações geográficas automáticas. legacy-sectors-{apply,replay,http,browser,persistence} -qa.json ; legacy-financial-origin-20261010 /proof.json. C37 /QA18 ,A /B ,móvel /acessibilidade/cobertura integral não encerrados. | [Visual QA 10 /10/2026 ] Leitura pública /móvel dirigida, teclado e 4 consumidores do mapa demonstrados;15 execuções de acessibilidade sem violação automática. | [Visual QA 10/10/2026] Leitura pública/móvel dirigida, teclado e4consumidores do mapa demonstrados;15execuções de acessibilidade semviolação automática.","GET públicos e escritas autenticadas no servidor18097, alvo real55441 confirmado; publicação separada do importador. | [Setores QA após C71 10/10/2026] 22 originais importados privadamente após prévia renovada, hashes recuperados,22 scans ClamD reais e replay sem novos documentos/recursos/auditoria/scans. Divulgação autenticada separada:16 artigos com texto+5 imagens públicos; Mercado Financeiro privado, vazio confirmado na origem HTML e Inertia200. Chromium desktop:16 artigos, pesquisa/imagens, Energia e Mineração distintas, C72 título preservado; QA21 criou4 dossiers, retorno, logout/novaMFA/F5/replay; QA23 negado403 e anónimo sem contexto. Persistência READ ONLY:8 dossiers HTTP/Chromium, uma referência/evento cada,22 hashes únicos,0 relações geográficas automáticas. legacy-sectors-{apply,replay,http,browser,persistence}-qa.json; legacy-financial-origin-20261010/proof.json. C37/QA18,A/B,móvel/acessibilidade/cobertura integral não encerrados.","Dois recursos na biblioteca existente e referências no payload cifrado do dossier; sem nova tabela/cadastro paralelo. | [Confirmação manual recebida 10/10/2026] Responsável confirmou leitura pública → autenticação → criar/escolher dossier → guardar referência → nova sessão → recuperar dossier e abrir artigo. Confirmação declarada, sem conta/perfil/dispositivo/data de execução identificados. Não comprova MFA específico, ensaios móveis, acessibilidade, outros perfis, deduplicação, C37/QA18 ou A/B. Ver legado-piloto-qa.md, confirmação manual. | [Setores QA após C71 10/10/2026] 22 originais importados privadamente após prévia renovada, hashes recuperados,22 scans ClamD reais e replay sem novos documentos/recursos/auditoria/scans. Divulgação autenticada separada:16 artigos com texto+5 imagens públicos; Mercado Financeiro privado, vazio confirmado na origem HTML e Inertia200. Chromium desktop:16 artigos, pesquisa/imagens, Energia e Mineração distintas, C72 título preservado; QA21 criou4 dossiers, retorno, logout/novaMFA/F5/replay; QA23 negado403 e anónimo sem contexto. Persistência READ ONLY:8 dossiers HTTP/Chromium, uma referência/evento cada,22 hashes únicos,0 relações geográficas automáticas. legacy-sectors-{apply,replay,http,browser,persistence}-qa.json; legacy-financial-origin-20261010/proof.json. C37/QA18,A/B,móvel/acessibilidade/cobertura integral não encerrados.","[Interface legado QA 10/10/2026] Render/cliques observados no Chromium QA, com recuperação noutra sessão/F5 e negação à conta23. Não é o navegador pessoal do utilizador nem o ensaio C37/QA18. | Evidência anterior preservada: Logout/nova sessão FortifyMFA21: fonte/versão/hashes recuperados; outra conta negada e projeto independente sem referência. | [Confirmação manual recebida 10/10/2026] Responsável confirmou leitura pública → autenticação → criar/escolher dossier → guardar referência → nova sessão → recuperar dossier e abrir artigo. Confirmação declarada, sem conta/perfil/dispositivo/data de execução identificados. Não comprova MFA específico, ensaios móveis, acessibilidade, outros perfis, deduplicação, C37/QA18 ou A/B. Ver legado-piloto-qa.md, confirmação manual. | [Setores QA após C71 10/10/2026] 22 originais importados privadamente após prévia renovada, hashes recuperados,22 scans ClamD reais e replay sem novos documentos/recursos/auditoria/scans. Divulgação autenticada separada:16 artigos com texto+5 imagens públicos; Mercado Financeiro privado, vazio confirmado na origem HTML e Inertia200. Chromium desktop:16 artigos, pesquisa/imagens, Energia e Mineração distintas, C72 título preservado; QA21 criou4 dossiers, retorno, logout/novaMFA/F5/replay; QA23 negado403 e anónimo sem contexto. Persistência READ ONLY:8 dossiers HTTP/Chromium, uma referência/evento cada,22 hashes únicos,0 relações geográficas automáticas. legacy-sectors-{apply,replay,http,browser,persistence}-qa.json; legacy-financial-origin-20261010/proof.json. C37/QA18,A/B,móvel/acessibilidade/cobertura integral não encerrados.",Piloto ativo encerrado; restante legado pendente.,Piloto agronegócio: ativo e entrega encerrada. Integração integral do legado: pendente nos mesmos IDs.,parcial,Não disponibilizado; guarda QA/flagfalse. Nenhuma escrita ou divulgação ativa autorizada.,"15/10/2026: entrega do piloto encerrada; dados/B/COUNTRY02/build preservados. Não equivale a integração integral do legado. | Lote setorial disponibilizado por autorização expressa da Tempo; integração integral continua pendente. | QA 15/10/2026: setores-fintech-QA-d5b4dc354265; sete entradas comerciais/contexto no dossier e três artigos preparados. B/COUNTRY02/aceitações preservados; sem disponibilização ativa. | Disponibilização expressamente autorizada pela Tempo: «Autorizo a disponibilizar». Executada com backup/restauro fresco verificado; apenas conferência operacional, sem repetir aceitação QA.
[RECONCILIACAO-43-20261019] 5: Sem saldo de código no recorte visual aceite. | 8: Outras identidades do legado exigem lotes e eventual adaptação por tipo. Não há autorização genérica para publicar todo o acervo.","Inventário reconciliado: 20 artigos e cinco imagens publicados; 28 artigos com corpo por integrar (2 setoriais, 8 trabalho doméstico, 18 históricos/noticiosos); Mercado Financeiro vazio e post 74364 sem título separados. Onze variantes de URL e 43 capturas adicionais de artigos já cobertas, sem novas identidades. Demais referências, anexos técnicos e sitemap misto conservam recorte próprio. | Entrega operacional deste delta concluída. Mercado Financeiro geral vazio e restante acervo mantêm os seus estados. Licenças, requisitos e documentos específicos Fintech por atividade permanecem por determinar; não bloqueiam a preparação independente nem se consideram concluídos. | Recorte QA demonstrado, sem encerrar critérios globais. Histórico económico combinado conservado, fora de novas escolhas; oportunidade6 não inferida como Fintech. Sem fusões por nome. Recuperação existente conferida por leitura e hashes; outra sessão/dispositivo e percursos aceites não reensaiados. Conferência dos anexos pelo utilizador pendente. | Recorte aprovado disponibilizado; requisitos globais permanecem abertos. Atividade historica combinada e oportunidade6 sem reclassificacao. Conferencia dos anexos finais pelo utilizador pendente. Sem repetir testes aceites, formularios ou L1.
@@ -10653,9 +10653,9 @@ AUD-SEARCH-T11,Consistência transversal da pesquisa e navegação — Legislaç
AUD-GUIDE-CARD-20261020,"Related educational cards: image, source summary, clear actions",Tempo 20/10/2026; independent delta after 0e7d51f18fb4,educational presentation,/sectores/{slug}; /explorar/{group}; articles; /oportunidades and detail,EducationalArticleCard; EducationalGuides; LegacyContent; SectorInvestment,QA only,1 test / 8 assertions; PHP syntax; TypeScript/build; desktop2048/mobile390; keyboard,QA review pending,Normal QA sector and article verified against existing library resource 10 and local image 25; previous dossier proof retained,,Source-derived summary; public images; conditional opportunity action; context preserved,P1,,,,,,,,,,,,,,,,,,presentation,,,,20/10/2026,,,,,,,,,,,,content; navigation; visual presentation,,Ready for QA review
AUD-SIM-INT01,Invalid one-off fiscal date can throw instead of returning validation state,Tempo request 20/10/2026; integrated simulator review; same manual,simulator and shared language,,,QA only,Fixed in QA; invalid-date checks; 38 directed frontend tests passed,Previous inline-date proof retained; unchanged delta not repeated,QA continuation verified; precise open inputs and cashflow visual check in same manual; 2-4 h remaining,,,P0,,,,,,,,,,,,,,,,,,diagnosis and targeted corrections,, | [Saldo consolidado21/10/2026] Concluído no recorte. Nenhum delta de validação de data por demonstrar; prova anterior preservada. Ver saldo dos oito itens no manual existente; sem fecho global por esta reconciliação.,,20/10/2026,,,,,,,,,,,,,,
AUD-SIM-INT02,Review actual fiscal parameters sources periods and eligibility,Tempo request 20/10/2026; integrated simulator review; same manual,simulator and shared language,,,"QA only | 22/10/2026 — disponibilizado por autorização Tempo: revisão servida042ffbde (inclui a76369eb/a1fbda06/064296e1 e correcção dirigida da recuperação legada). Percurso habilitado na homologação, versão private-investment-preparation-2026-v1; main ancestral preservado, sem conflitos/force-push. Zero migrations/importações/fixtures; nenhuma nova regra fiscal publicada/activada. Revisão/configuração/rotas conferidas; provas funcionais QA reutilizadas.","Verification pending; no parameter activation | 22/10/2026: primeiro incremento QA na branch codex/project-context-continuity-QA; contexto único por dossier/conta, herança com edições preservadas, moeda/IVA mensal e análise territorial explícita. Ver traceability-and-manual.md, secção Continuidade e adaptação contextual. 4 HTTP/74 asserções; 8 frontend; percurso visual A/B e nova sessão. Não encerra adaptação jurídica integral. | 22/10/2026 — percurso privado executável em QA (base52fbb146): condições oficiais seleccionam mero registo/autorização, alternativas documentais e próximos passos; contexto C v4 mero registo após distinção directo/indirecto (Lei14/R13); prévia visual, vínculo inactivo preservado e relatório v3 por autorização conservado como histórico. 3 testes/96 asserções e um teste do novo relatório, tipos/build aprovados. Sem validação jurídica genérica adicional; orientação permanente Tempo em AGENTS. Branch codex/private-investment-path-executable-QA; sem integração main/alteração da homologação/activação fiscal.",Recorte IVA geral sobre base declarada disponibilizado: 4a4d1212 integrado na revisao servida d3fe8a02; regra real v1 publicada e consumidor activo. Nao conclui o simulador fiscal integral.,QA continuation verified; precise open inputs and cashflow visual check in same manual; 2-4 h remaining,,,P0,,,,,,,,,,,,,"22/10/2026: primeiro incremento QA na branch codex/project-context-continuity-QA; contexto único por dossier/conta, herança com edições preservadas, moeda/IVA mensal e análise territorial explícita. Ver traceability-and-manual.md, secção Continuidade e adaptação contextual. 4 HTTP/74 asserções; 8 frontend; percurso visual A/B e nova sessão. Não encerra adaptação jurídica integral. | 22/10/2026 — percurso privado executável em QA (base52fbb146): condições oficiais seleccionam mero registo/autorização, alternativas documentais e próximos passos; contexto C v4 mero registo após distinção directo/indirecto (Lei14/R13); prévia visual, vínculo inactivo preservado e relatório v3 por autorização conservado como histórico. 3 testes/96 asserções e um teste do novo relatório, tipos/build aprovados. Sem validação jurídica genérica adicional; orientação permanente Tempo em AGENTS. Branch codex/private-investment-path-executable-QA; sem integração main/alteração da homologação/activação fiscal.","Nenhuma operacao de disponibilizacao pendente neste lote delimitado. Outras componentes, regimes e coberturas fiscais permanecem fora do recorte; nao repetir provas aceites. | Recorte executável C concluído em QA. Restantes coberturas sectoriais/benefícios e encaminhamento visual de zona real têm limites concretos no manual; não bloqueiam os ramos já documentados. Integração/habilitação no destino não executadas. | Integração/habilitação deste recorte executadas em22/10/2026; referências anteriores a operação pendente são históricas. Não reabrir as provas aceites.",,,"Tempo autorizou incorporacao de 4a4d1212, cadastro/publicacao da regra real e activacao. Mesma administracao real nala@tempo.co.mz, login normal e MFA, sem quatro designacoes; sem parecer juridico ou revisao independente atribuidos a Tempo.",Ligacao de consumidor publicada concluida em QA; decisoes operacionais separadas.,Recorte executado; sem saldo de implementacao ou disponibilizacao identificado neste lote. Nao converter estimativas anteriores em implementacao fiscal integral.,"[Leitura SSH 21/10/2026 08:17 Maputo] Zero regras em simulation_tax_rule_versions na homologação, incluindo todos os estados por leitura administrativa sem ocultação RLS. Seis referências em investment_legal_sources; não são parâmetros executáveis. QA também tinha zero regras. BEGIN READ ONLY/SELECT/ROLLBACK; zero escritas. Prova homologation-fiscal-readonly.json. O git HEAD registado é do checkout consultado, não certifica a revisão do build servido. A ausência de cadastro não é ausência de fontes oficiais nem reabre a aceitação da Tempo de 08/10. Não implementa a ligação funcional ao motor fiscal. | [Saldo consolidado21/10/2026] Parcial. Leitura remota concluída: zero regras de todos os estados na homologação, tal como QA; seis referências jurídicas não são parâmetros executáveis. Falta cadastro fundamentado por componente/âmbito/período e ligação funcional ao motor fiscal. Fontes e análises existentes reutilizáveis; aceitação oficial da Tempo de08/10 preservada. Não activar taxas nem importar/publicar por esta reconciliação. Ver saldo dos oito itens no manual existente; sem fecho global por esta reconciliação. | [Candidata21/10/2026] Diagnóstico fiscal separado no manual existente: fontes/analises já disponíveis; zero parâmetros executáveis na QA e homologação por leitura de todos os estados; governação/resolvedor temporal/DSL existentes; RunSimulation ainda aritmética personalizada sem consumir regras fiscais. Saldo: cadastro fundamentado, orquestração, contrato de resultado/histórico e ligação ao dossier/relatório, com casos por componente/período. Nenhuma regra criada nem activada; implementação fiscal integral aberta e excluída das1–2h de exportações. | [Proposta21/10/2026] Primeiro lote proposto: uma regra IVA geral sobre base liquida/MZN, cobertura demonstrada2026 sem inventar caducidade legal. Reutilizar fontes/analises/governacao/resolvedor/avaliador existentes; arredondamento e ambito aplicavel explicitamente por fundamentar antes de publicar. Cadastro4-8h e codigo/aceitacao12-20h, total16-28h condicionado ao acervo, separado das1-2h de exportacao. Criterios e exclusoes no manual existente. Nenhuma regra cadastrada/activada; nao e implementacao fiscal integral. | [QA IVA v1.2 21/10/2026] Orientacao posterior Tempo: calcular com precisao decimal exacta sem arredondamento automatico, separando apresentacao monetaria; arredondamento generico deixa de ser bloqueio deste lote. Cadastro draft versionado em clone QA; resolvedor/avaliador existentes; proveniencia, historico e relatorio imutavel ligados. 5 feature (51 assercoes), 7 unit (25), 3 frontend; types/build/Pint aprovados. Contexto declarado; nao e saldo a pagar. Zero regras publicadas; sem main/activacao. Recorte QA autorizado verificado (0h engenharia identificada restante); produto fiscal integral continua parcial. Limites e provas no mesmo manual e ficha v1.2; sem atribuicao de validacao juridica ao utilizador. | [Revisao 83d2f97d] Ambito/periodo/exclusoes e procedimentos de integracao, publicacao, activacao e suspensao consolidados no mesmo manual. Lacuna concreta de ecra QA fechada: entradas 1000.03/MZN/2026-10-21; calculo exacto 160.0048; gravacao fa6d17f2-5f47-4cb6-b8cb-40850c12505f; recarga; recuperacao do mesmo ID; relatorio d13e2ad5-3ba8-4d01-9d30-5815496da774 com mesmo valor/proveniencia e hash igual ao resultado. Uma execucao persistida, draft e zero regras publicadas. 1 teste novo de rota/17 assercoes, TypeScript/build e browser aprovados; restantes provas reutilizadas. Interrupcao inicial da ferramenta resolvida, sem atribuicao de falha ao simulador. Revisao do recorte demonstrada; sem nova preparacao generica identificada, main ou activacao; nao fecha aplicabilidade fiscal universal nem simulador integral. | 21/10/2026: proposta do consumidor IVA no simulador existente no manual: falta ligacao a regra publicada e activacao explicita. Integrar codigo desligado, publicar versao e activar consumidor sao tres operacoes distintas. Reutiliza permissoes, governanca, historico e provas aceites; sem ampliar cobertura ou executar estas operacoes. | 21/10/2026: implementado delta de 2ced7b79 no simulador normal QA, activacao desligada por omissao. 8 testes/75 assercoes, 2 testes frontend novos, TypeScript/build/Pint. Edge: indeterminacao, calculo, repeticao sem duplicar, fila admitida antes de suspensao concluida depois, nova execucao recusada e historicos/relatorios preservados. Mesmo manual e recibo consolidam provas e tres operacoes. Fixture isolada suspensa; sem merge ou publicacao/activacao na homologacao. | 21/10/2026: origem da condicao fiscal localizada em e65cb269/servico/CHECKs de 03/10 e nota de implementacao; sem decisao expressa aplicavel encontrada. Correccao QA: administracao existente, mesma pessoa, fonte oficial identificada e eventos preservados. 6 testes/86 assercoes apenas do controlo, sem calculos/exportadores; constraints de outras tabelas iguais. Esquema activo nao alterado; backup/restauro de 171 tabelas confirmado; sem fixture ou publicacao real. | [Execucao autorizada 21/10/2026 10:56 UTC] Servido d3fe8a02ec7f5dcd01984c4f4a1eba18b5a0cf19 contendo 4a4d1212; DDL fiscal aplicado autenticadamente com backup/restauro de171tabelas e registos preservados. Tres fontes reais v1 com hashes/citacoes e aceitacao fiscal Tempo08/10/2026, sem validacao geral automatica. Regra IVA-GERAL-BASE-LIQUIDA rule_version1, ID01a15e1a-5338-700f-8a45-f87707d696a7, published, version_no5, actor15 emtodasetapas;5eventos. Activacao separada ligada a esseID/versao; APIHTTP200 enabled=true e resolvedor16percent no contexto delimitado sem calculo novo. FixtureQA nao importada; calculos/exportadores/PDF aceites nao repetidos. Suspensao de novas admissoes conserva snapshots/historicos/relatorios. Recibo e manual existentes actualizados; limitacoes de abertura de consola/extensao registadas como ferramenta. | [Diagnostico IVA QA21/10/2026] Falha estrutural reproduzida na consulta anual: fiscal_operation nao satisfaz operation e moeda nao era comunicada. Sem presumir respostas originais. Cada condicao tem campo/recebido/esperado/categoria; notas junto ao campo, resumo com foco e Ver fundamento semDSL/codigo. Moeda fiscal explicita, sem conversao/copia.5unitarios24assercoes+1API16assercoes, Edge comUSD dirigido preservado apos recuperacao; fixtureQA v3suspensa, consumidorQAoff. Nao altera regra/activacao da homologacao; calculos e exportadores nao repetidos. Branch codex/iva-diagnostics-QA. | [IVA mensal QA21/10/2026] Vendas por produto/mes reutilizadas; base liquida explicita; versao publicada seleccionada no servidor, sem taxa/manual no formulario. Zero distinto de falta; preco com IVA indeterminado. Actualizacao dependente cria versao, historicos/relatorios preservados. IVA separado de recebimentos/custos/imposto final; manual apenas cenario personalizado. 3API/46assercoes+4frontend e Edge: vendas alteradas, bruto, zero, falta, recuperacao e relatorio. Fixture sintetica v4 ligada apenas no clone QA para revisao. Sem main/HML ou alargamento fiscal; provas anteriores reutilizadas. Mesmo manual/recibo; branch codex/iva-monthly-projection-QA. | [Modelo A QA21/10/2026] Exemplar Tempo e imagem incorporada conferidos/preservados privados na biblioteca QA, hashes/scans/idempotencia; quadros e campos01-27 mapeados no mesmo registo. Componente01/02 existente; apuramento14-18 indeterminado. Correspondencia consultavel e compras/encomendas reutilizadas sem fabricar base/IVA/deducao. Divergencias de remissao registadas; edicao vigente nao afirmada.3testes novos/types/build/Edge; calculo/exportadores aceites reutilizados. Delta seguinte8-16h cadastro+20-36h codigo, condicionado e sem creditos/substituicao/pagamento/reembolso; nao e cobertura integral. Sem main/HML, nova regra publicada ou activacao. Ver docs/investmoz/simulations/modelo-a-reconciliacao-20261021.md. | 22/10/2026: primeiro incremento QA na branch codex/project-context-continuity-QA; contexto único por dossier/conta, herança com edições preservadas, moeda/IVA mensal e análise territorial explícita. Ver traceability-and-manual.md, secção Continuidade e adaptação contextual. 4 HTTP/74 asserções; 8 frontend; percurso visual A/B e nova sessão. Não encerra adaptação jurídica integral. | 22/10: revisão de a76369eb concluída no âmbito aceite por prova equivalente do regresso; A/B não repetidos. Tabela do primeiro percurso de investimento privado no manual: condições, artigos/período e efeitos; preparação documental, sem ligação executável nova. | 22/10/2026 — percurso privado executável em QA (base52fbb146): condições oficiais seleccionam mero registo/autorização, alternativas documentais e próximos passos; contexto C v4 mero registo após distinção directo/indirecto (Lei14/R13); prévia visual, vínculo inactivo preservado e relatório v3 por autorização conservado como histórico. 3 testes/96 asserções e um teste do novo relatório, tipos/build aprovados. Sem validação jurídica genérica adicional; orientação permanente Tempo em AGENTS. Branch codex/private-investment-path-executable-QA; sem integração main/alteração da homologação/activação fiscal. | 22/10/2026 — prova complementar exclusiva do relatório: recuperação UI do contexto v4, rascunho v5 e Word novo por mero registo; estudo/capacidade não aplicáveis. Word v3 preservado/identificado como histórico, hash inalterado. Sem alteração funcional ou repetição dos ensaios aceites. Dependências Git: a76369eb → 52fbb146 documental → a1fbda06; integrar após decisão, preservando main concorrente. | 22/10/2026 — disponibilizado por autorização Tempo: revisão servida042ffbde (inclui a76369eb/a1fbda06/064296e1 e correcção dirigida da recuperação legada). Percurso habilitado na homologação, versão private-investment-preparation-2026-v1; main ancestral preservado, sem conflitos/force-push. Zero migrations/importações/fixtures; nenhuma nova regra fiscal publicada/activada. Revisão/configuração/rotas conferidas; provas funcionais QA reutilizadas.",,20/10/2026,,,,,,,,,,"Catálogo visual sintético QA; ZEE/ZFI apenas controlos HTTP revertidos; condições/benefícios não executáveis indeterminados; sem ensaio visual integral dos outros consumidores. | C exclusivamente sintético; ZEE/ZFI encaminhamento por predicados, sem reconhecimento de zona real; download concluído apesar de perda da ferramenta. Provas A/B/cálculos/exportadores aceites não repetidas.",,,,"Recorte adaptativo de preparação disponibilizado/habilitado na homologação, revisão042ffbde. Limitações globais/sectoriais/fiscais mantêm âmbito próprio."
-AUD-SIM-INT03,Review isolation recovery across projects and sessions,Tempo request 20/10/2026; integrated simulator review; same manual,simulator and shared language,,,QA only,Existing controls and accepted proofs to reconcile; no leak established,Two dossiers and new login recovered in browser; cashflow persistence corrected and HTTP-tested; new visual cashflow delta pending,QA continuation verified; precise open inputs and cashflow visual check in same manual; 2-4 h remaining,,,P0,,,,,,,,,,,,,,,,,,diagnosis and targeted corrections,,"[Retoma 21/10/2026] QA 18576, clone simulator_review_delta_20261020_test: sessão sintética renovada por login normal; gravação autenticada e recarga recuperaram saldo 123, receita 900, custos 600, calendário mensal 10/vazio/0, crédito IVA estimado 500. Caixa conhecida 3713 MZN; total indeterminado desde mês 2; crédito estimado excluído da caixa. Prova visual cashflow-recovered-20261021.png e snapshot .txt em outputs/simulator-continuation-20261020. Não certifica recuperação destes novos valores após outro login, CSV/DOCX ou PDF nativo. Ligação de controlo do navegador perdida durante espera de download; não atribuir falha à aplicação. Leitura remota aguarda identificação da ligação SSH; zero alterações no destino. | [Saldo consolidado21/10/2026] Concluído no recorte. A/B, logout/novo login, recuperação e recusa pela aplicação demonstrados anteriormente. A tesouraria tem prova API de nova sessão e prova visual de recuperação por recarga. Não atribuir ao navegador nova sessão dos valores de tesouraria, nem nova certificação RLS; limites expressos conservados. Ver saldo dos oito itens no manual existente; sem fecho global por esta reconciliação. | [Delta QA 23/10/2026 sobre c3f7c3ad] QA: gzip/ETag; idioma guardado e recuperado; versao antiga continua recusada. Ver docs/investmoz/unification/traceability-and-manual.md. Homologacao permanece 7c1f5321; cobertura transversal parcial.",,20/10/2026,,,,,,,,,,,,,,
+AUD-SIM-INT03,Review isolation recovery across projects and sessions,Tempo request 20/10/2026; integrated simulator review; same manual,simulator and shared language,,,QA only,Existing controls and accepted proofs to reconcile; no leak established,Two dossiers and new login recovered in browser; cashflow persistence corrected and HTTP-tested; new visual cashflow delta pending,QA continuation verified; precise open inputs and cashflow visual check in same manual; 2-4 h remaining,,,P0,,,,,,,,,,,,,,,,,,diagnosis and targeted corrections,,"[Retoma 21/10/2026] QA 18576, clone simulator_review_delta_20261020_test: sessão sintética renovada por login normal; gravação autenticada e recarga recuperaram saldo 123, receita 900, custos 600, calendário mensal 10/vazio/0, crédito IVA estimado 500. Caixa conhecida 3713 MZN; total indeterminado desde mês 2; crédito estimado excluído da caixa. Prova visual cashflow-recovered-20261021.png e snapshot .txt em outputs/simulator-continuation-20261020. Não certifica recuperação destes novos valores após outro login, CSV/DOCX ou PDF nativo. Ligação de controlo do navegador perdida durante espera de download; não atribuir falha à aplicação. Leitura remota aguarda identificação da ligação SSH; zero alterações no destino. | [Saldo consolidado21/10/2026] Concluído no recorte. A/B, logout/novo login, recuperação e recusa pela aplicação demonstrados anteriormente. A tesouraria tem prova API de nova sessão e prova visual de recuperação por recarga. Não atribuir ao navegador nova sessão dos valores de tesouraria, nem nova certificação RLS; limites expressos conservados. Ver saldo dos oito itens no manual existente; sem fecho global por esta reconciliação. | [Delta QA 23/10/2026 sobre c3f7c3ad] QA: gzip/ETag; idioma guardado e recuperado; versao antiga continua recusada. Ver docs/investmoz/unification/traceability-and-manual.md. Homologacao permanece 7c1f5321; cobertura transversal parcial. 23/10/2026: Tempo encerrou os tres casos no ambito reportado (6b544548; recibo 4098192a), sem repetir. Avaliacao estatica dos trechos restantes no manual existente, seccao de 23/10: escolhas por ficha preservadas no contrato; parques e campos comuns usam a primeira escolha; land/desk/submission reutilizam campos comuns, sem lista OpportunityChoices no DossierPrefill. Demonstracao multi-oportunidade nos restantes formularios pendente. Aplicacao transversal parcial. Sem alteracao no activo.",,20/10/2026,,,,,,,,,,,,,,
AUD-SIM-INT04,Review stale and historical results and correct dossier,Tempo request 20/10/2026; integrated simulator review; same manual,simulator and shared language,,,QA only,"Existing versions/fingerprints; targeted verification pending | 22/10/2026: primeiro incremento QA na branch codex/project-context-continuity-QA; contexto único por dossier/conta, herança com edições preservadas, moeda/IVA mensal e análise territorial explícita. Ver traceability-and-manual.md, secção Continuidade e adaptação contextual. 4 HTTP/74 asserções; 8 frontend; percurso visual A/B e nova sessão. Não encerra adaptação jurídica integral.",Historical results visible after fix; 12 and 24 recovered; hashes unchanged; synthetic temporal resolver versions verified in memory only,QA continuation verified; precise open inputs and cashflow visual check in same manual; 2-4 h remaining,,,P1,,,,,,,,,,,,,"22/10/2026: primeiro incremento QA na branch codex/project-context-continuity-QA; contexto único por dossier/conta, herança com edições preservadas, moeda/IVA mensal e análise territorial explícita. Ver traceability-and-manual.md, secção Continuidade e adaptação contextual. 4 HTTP/74 asserções; 8 frontend; percurso visual A/B e nova sessão. Não encerra adaptação jurídica integral.",,,,,diagnosis and targeted corrections,,"[Saldo consolidado21/10/2026] Concluído no recorte demonstrado. Histórico24/12 visível, hashes preservados e versões temporais sintéticas do resolvedor conferidas. Execução fiscal integrada com parâmetros reais pertence ao saldo de02 e não foi demonstrada por estes testes. Ver saldo dos oito itens no manual existente; sem fecho global por esta reconciliação. | 22/10/2026: primeiro incremento QA na branch codex/project-context-continuity-QA; contexto único por dossier/conta, herança com edições preservadas, moeda/IVA mensal e análise territorial explícita. Ver traceability-and-manual.md, secção Continuidade e adaptação contextual. 4 HTTP/74 asserções; 8 frontend; percurso visual A/B e nova sessão. Não encerra adaptação jurídica integral.",,20/10/2026,,,,,,,,,,Catálogo visual sintético QA; ZEE/ZFI apenas controlos HTTP revertidos; condições/benefícios não executáveis indeterminados; sem ensaio visual integral dos outros consumidores.,,,,Incremento contextual QA para revisão; sem integração main/activação fiscal.
AUD-SIM-INT05,Independent financial controls unknown zero units and currencies,Tempo request 20/10/2026; integrated simulator review; same manual,simulator and shared language,,,QA only,Reconciliation pending; no invented tax assumptions,Independent business-plan and cashflow ledgers passed; complete credit recipe included in screen and exports,QA continuation verified; precise open inputs and cashflow visual check in same manual; 2-4 h remaining,,,P1,,,,,,,,,,,,,,,,,,diagnosis and targeted corrections,,"[Retoma 21/10/2026] QA 18576, clone simulator_review_delta_20261020_test: sessão sintética renovada por login normal; gravação autenticada e recarga recuperaram saldo 123, receita 900, custos 600, calendário mensal 10/vazio/0, crédito IVA estimado 500. Caixa conhecida 3713 MZN; total indeterminado desde mês 2; crédito estimado excluído da caixa. Prova visual cashflow-recovered-20261021.png e snapshot .txt em outputs/simulator-continuation-20261020. Não certifica recuperação destes novos valores após outro login, CSV/DOCX ou PDF nativo. Ligação de controlo do navegador perdida durante espera de download; não atribuir falha à aplicação. Leitura remota aguarda identificação da ligação SSH; zero alterações no destino. | [Saldo consolidado21/10/2026] Concluído nos controlos delimitados. Controlos independentes de caixa/plano/crédito, zero/desconhecido e moedas preservados. Não são validação de taxas legais nem certificação de toda a contabilidade. Ver saldo dos oito itens no manual existente; sem fecho global por esta reconciliação.",,20/10/2026,,,,,,,,,,,,,,
-AUD-SIM-INT06,Generated reports screen download and pagination,Tempo request 20/10/2026; integrated simulator review; same manual,simulator and shared language,,,QA only,Existing exporters; examples for this review still pending,Normal UI CSV and DOCX match shared values; all six DOCX pages checked; native Edge PDF awaits user save; new cashflow visual output pending,QA continuation verified; precise open inputs and cashflow visual check in same manual; 2-4 h remaining,,,P1,,,,,,,,,,,,,,,,,,diagnosis and targeted corrections,,"[Retoma 21/10/2026] QA 18576, clone simulator_review_delta_20261020_test: sessão sintética renovada por login normal; gravação autenticada e recarga recuperaram saldo 123, receita 900, custos 600, calendário mensal 10/vazio/0, crédito IVA estimado 500. Caixa conhecida 3713 MZN; total indeterminado desde mês 2; crédito estimado excluído da caixa. Prova visual cashflow-recovered-20261021.png e snapshot .txt em outputs/simulator-continuation-20261020. Não certifica recuperação destes novos valores após outro login, CSV/DOCX ou PDF nativo. Ligação de controlo do navegador perdida durante espera de download; não atribuir falha à aplicação. Leitura remota aguarda identificação da ligação SSH; zero alterações no destino. | [Exportação nativa 21/10/2026] Saída actual aberta pelo botão do portal: revisão 4, 12 meses, MZN, saldo inicial123/receita900/custos600, calendário10/vazio/0, caixa conhecida3713 e total indeterminado coincidem com o ecrã. Crédito estimado500 identificado como pressuposto, não somado à caixa. Prova portal-print-current-20261021.txt. Relatório de20/10/revisão2 preservado, sem o confundir com o actual. Downloads: sem novo CSV na pasta habitual ou nos temporários locais conferidos; isso não demonstra falha nem cancelamento. Histórico de downloads bloqueado pela política da ferramenta; caminho do ficheiro solicitado antes de repetir. PDF nativo aberto, mas paginação/legibilidade aguardam o ficheiro efectivamente guardado pelo Edge; conversão DOCX/PDF anterior não conta como essa prova. Perda da ligação e bloqueio de controlo durante impressão são limitações da ferramenta, sem falha do simulador demonstrada. | [Fecho da verificação dos ficheiros 21/10/2026] Transferências Windows redireccionada para \\Mac\Home\Downloads; CSV concluído08:12:46, PDF nativo08:17:19. Sem repetir downloads. Os12 registos mensais do CSV coincidem exactamente com o snapshot do ecrã após correspondência de colunas; PDF revisão4 conserva valores mensais, MZN,12meses,123/900/600, crédito estimado500 não caixa e caixa conhecida3713. Os10 PNG do PDF nativo foram inspeccionados: defeito confirmado na linha repetida de rodapé, sobreposta ao corpo perto do topo de páginas, incluindo2,6e10. Conteúdo/valores conferidos; paginação/legibilidade não aceites até correcção e nova prova nativa. Não é conversão DOCX/PDF. Perda de ligação continua limitação da ferramenta e não causou falha do download; sobreposição é defeito distinto demonstrado no PDF. Provas: download-native-inspection-20261021.json, portal-cashflow-20261021.csv, portal-native-20261021.pdf e native-pdf-render/. A indicação anterior de ficheiros pendentes fica superada por esta prova. Sem alteração funcional nem escrita remota. | [Correcção do rodapé nativo QA 21/10/2026] Origem: pedido expresso da Tempo nesta conversa; solução de implementação, sem regra organizacional nova. Causa em createProjectDossierPrintHtml (project-dossier-document.ts): footer position:fixed/bottom:-14mm sobrepunha a área fragmentada de impressão. Substituído na impressão por caixas @page @bottom-left/@bottom-right, dentro da margem inferior reservada20mm, com identificação/revisão e número de página/total. Rodapé normal de ecrã conservado; sem diminuir letras do corpo (10,5pt), tabelas, cabeçalhos ou origens (9pt), nem retirar conteúdo. Mesmo dossier B/revisão4 regenerado pelo botão do portal QA18576 e guardado no Edge, não por conversão DOCX. 10→10 páginas A4; comparação automática do corpo por página, descontando apenas hora de emissão/rodapé/contador, coincide integralmente. Inspecção visual dos10 PNG: sem sobreposição, cabeçalhos de tabela repetidos, quebras/linhas preservadas, última página íntegra e numeração1/10→10/10. Rodapés medidos inteiramente na margem inferior. Ecrã QA conferido após build; estilos screen e geradores DOCX/ZIP inalterados por comparação de fontes. 10 testes do exportador, TypeScript e build passaram; escape da revisão na nova string CSS verificado. Reutilizadas provas de valores e CSV aceites; não repetido download/aritmética. Provas: native-footer-fix-20261021.json; portal-native-fixed-20261021.pdf; native-footer-before-after-20261021.jpg; native-pdf-fixed-render/; screen-after-print-fix-20261021.png. Fechado exclusivamente o defeito de rodapé neste relatório QA; limitações e restantes critérios de AUD-SIM-INT06 mantêm âmbito próprio. Relato anterior de sobreposição fica superado neste delta pela comparação antes/depois. Branch codex/simulator-integrated-review separada de main, sem integração, escrita remota ou disponibilização activa; revisão prevista mantém-se pendente. | [Saldo consolidado21/10/2026] Concluído na apresentação e comparação deste relatório. Rodapé do PDF nativo fechado em QA segundo provas apresentadas;10 páginas/valores/CSV não repetidos. Tempo declarou que não abriu imagem/PDF pelos caminhos locais: registar aceitação das provas, não revisão visual directa do utilizador. Outras provas de relatório conservadas; falhas interactivas de exportação/anexos mantêm saldo em07. Ver saldo dos oito itens no manual existente; sem fecho global por esta reconciliação. | [Delta QA 23/10/2026 sobre c3f7c3ad] QA: origem por campo em snapshot/relatorio/CSV e edicao posterior distinguida. Ver docs/investmoz/unification/traceability-and-manual.md. Homologacao permanece 7c1f5321; cobertura transversal parcial.",,20/10/2026,,,,,,,,,,,,,,
+AUD-SIM-INT06,Generated reports screen download and pagination,"Tempo request 20/10/2026; integrated simulator review; same manual Pedido expresso da Tempo, 23/10/2026, nesta retoma: corrigir integração de complementos no percurso actual, com identidade, cadeia de valor, localização e relações documentadas.",simulator and shared language,,,QA only,Existing exporters; examples for this review still pending,Normal UI CSV and DOCX match shared values; all six DOCX pages checked; native Edge PDF awaits user save; new cashflow visual output pending,QA continuation verified; precise open inputs and cashflow visual check in same manual; 2-4 h remaining,,,P1,,,,,,,,,,,,,," Delta de complementos preparado/verificado em QA; conferência visual e instalação no destino ainda não realizadas. Relações sem oferta identificada permanecem necessidades, sem presumir inexistência no acervo. Cobertura transversal e restantes pendências desta linha mantêm-se. Actualização visual 23/10/2026: supera apenas a pendência visual dos complementos no recorte documentado. Não demonstra contextos específicos de várias oportunidades em zonas/parques, Terra/DUAT, Balcão ou manifestação. Sem disponibilização no destino nem fecho global.",,,,diagnosis and targeted corrections,,"[Retoma 21/10/2026] QA 18576, clone simulator_review_delta_20261020_test: sessão sintética renovada por login normal; gravação autenticada e recarga recuperaram saldo 123, receita 900, custos 600, calendário mensal 10/vazio/0, crédito IVA estimado 500. Caixa conhecida 3713 MZN; total indeterminado desde mês 2; crédito estimado excluído da caixa. Prova visual cashflow-recovered-20261021.png e snapshot .txt em outputs/simulator-continuation-20261020. Não certifica recuperação destes novos valores após outro login, CSV/DOCX ou PDF nativo. Ligação de controlo do navegador perdida durante espera de download; não atribuir falha à aplicação. Leitura remota aguarda identificação da ligação SSH; zero alterações no destino. | [Exportação nativa 21/10/2026] Saída actual aberta pelo botão do portal: revisão 4, 12 meses, MZN, saldo inicial123/receita900/custos600, calendário10/vazio/0, caixa conhecida3713 e total indeterminado coincidem com o ecrã. Crédito estimado500 identificado como pressuposto, não somado à caixa. Prova portal-print-current-20261021.txt. Relatório de20/10/revisão2 preservado, sem o confundir com o actual. Downloads: sem novo CSV na pasta habitual ou nos temporários locais conferidos; isso não demonstra falha nem cancelamento. Histórico de downloads bloqueado pela política da ferramenta; caminho do ficheiro solicitado antes de repetir. PDF nativo aberto, mas paginação/legibilidade aguardam o ficheiro efectivamente guardado pelo Edge; conversão DOCX/PDF anterior não conta como essa prova. Perda da ligação e bloqueio de controlo durante impressão são limitações da ferramenta, sem falha do simulador demonstrada. | [Fecho da verificação dos ficheiros 21/10/2026] Transferências Windows redireccionada para \\Mac\Home\Downloads; CSV concluído08:12:46, PDF nativo08:17:19. Sem repetir downloads. Os12 registos mensais do CSV coincidem exactamente com o snapshot do ecrã após correspondência de colunas; PDF revisão4 conserva valores mensais, MZN,12meses,123/900/600, crédito estimado500 não caixa e caixa conhecida3713. Os10 PNG do PDF nativo foram inspeccionados: defeito confirmado na linha repetida de rodapé, sobreposta ao corpo perto do topo de páginas, incluindo2,6e10. Conteúdo/valores conferidos; paginação/legibilidade não aceites até correcção e nova prova nativa. Não é conversão DOCX/PDF. Perda de ligação continua limitação da ferramenta e não causou falha do download; sobreposição é defeito distinto demonstrado no PDF. Provas: download-native-inspection-20261021.json, portal-cashflow-20261021.csv, portal-native-20261021.pdf e native-pdf-render/. A indicação anterior de ficheiros pendentes fica superada por esta prova. Sem alteração funcional nem escrita remota. | [Correcção do rodapé nativo QA 21/10/2026] Origem: pedido expresso da Tempo nesta conversa; solução de implementação, sem regra organizacional nova. Causa em createProjectDossierPrintHtml (project-dossier-document.ts): footer position:fixed/bottom:-14mm sobrepunha a área fragmentada de impressão. Substituído na impressão por caixas @page @bottom-left/@bottom-right, dentro da margem inferior reservada20mm, com identificação/revisão e número de página/total. Rodapé normal de ecrã conservado; sem diminuir letras do corpo (10,5pt), tabelas, cabeçalhos ou origens (9pt), nem retirar conteúdo. Mesmo dossier B/revisão4 regenerado pelo botão do portal QA18576 e guardado no Edge, não por conversão DOCX. 10→10 páginas A4; comparação automática do corpo por página, descontando apenas hora de emissão/rodapé/contador, coincide integralmente. Inspecção visual dos10 PNG: sem sobreposição, cabeçalhos de tabela repetidos, quebras/linhas preservadas, última página íntegra e numeração1/10→10/10. Rodapés medidos inteiramente na margem inferior. Ecrã QA conferido após build; estilos screen e geradores DOCX/ZIP inalterados por comparação de fontes. 10 testes do exportador, TypeScript e build passaram; escape da revisão na nova string CSS verificado. Reutilizadas provas de valores e CSV aceites; não repetido download/aritmética. Provas: native-footer-fix-20261021.json; portal-native-fixed-20261021.pdf; native-footer-before-after-20261021.jpg; native-pdf-fixed-render/; screen-after-print-fix-20261021.png. Fechado exclusivamente o defeito de rodapé neste relatório QA; limitações e restantes critérios de AUD-SIM-INT06 mantêm âmbito próprio. Relato anterior de sobreposição fica superado neste delta pela comparação antes/depois. Branch codex/simulator-integrated-review separada de main, sem integração, escrita remota ou disponibilização activa; revisão prevista mantém-se pendente. | [Saldo consolidado21/10/2026] Concluído na apresentação e comparação deste relatório. Rodapé do PDF nativo fechado em QA segundo provas apresentadas;10 páginas/valores/CSV não repetidos. Tempo declarou que não abriu imagem/PDF pelos caminhos locais: registar aceitação das provas, não revisão visual directa do utilizador. Outras provas de relatório conservadas; falhas interactivas de exportação/anexos mantêm saldo em07. Ver saldo dos oito itens no manual existente; sem fecho global por esta reconciliação. | [Delta QA 23/10/2026 sobre c3f7c3ad] QA: origem por campo em snapshot/relatorio/CSV e edicao posterior distinguida. Ver docs/investmoz/unification/traceability-and-manual.md. Homologacao permanece 7c1f5321; cobertura transversal parcial. 23/10/2026 — Complementos: causa delimitada no campo textual focus e ausência de resolução/selecção complementar; incremento preparado em QA no percurso existente. Fichas/IDs existentes por relações documentadas, necessidades sem oferta, serviços/instrumentos publicados associados à origem, localização por complemento, rascunho/prévia/confirmação/histórico no dossier, apresentação nos quatro formulários e snapshot/linhas de relatório. Provas e limites em docs/investmoz/unification/investment-complements-qa-receipt-20261023.json e secção Complementos ligados ao investimento e ao dossier do manual. Sem instalação/alteração no activo. Não repete 6b544548/4098192a nem encerra aplicação transversal. 23/10/2026 — Conferência visual QA dos complementos concluída no recorte pedido: ficha 286 pela identidade existente; Fiação como necessidade/ideia; serviço sintético QA 17 e frio 310 ligados à segunda oportunidade 309 em Gaza, conservando a primeira 286 em Sofala. Confirmação e recarregamento recuperaram selecção, origem e localização; desconhecidos mantidos Por definir. Dossier sintético 6fdbb963-726e-4048-9884-8cddc04e77a6. Provas: outputs/complements-visual-20261023/; recibo existente investment-complements-qa-receipt-20261023.json actualizado. Serviço e segunda oportunidade são fixtures explícitas, sem alegar oferta real no destino. Homologação inalterada; fechos anteriores não repetidos.",,20/10/2026,,,,,,,,,,,,,,
AUD-SIM-INT07,Explicit validate calculate save export errors and retry,Tempo request 20/10/2026; integrated simulator review; same manual,simulator and shared language,,,QA only,Existing idempotency; consumer-level verification pending,Calculation navigation and failed-save retry fixed and browser-verified; normal downloads verified; interactive attachment blocked by extension permission,QA continuation verified; precise open inputs and cashflow visual check in same manual; 2-4 h remaining,,,P1,,,,,,,,,,,,,,,,,,diagnosis and targeted corrections,," | [Saldo consolidado21/10/2026] Parcial. Gravação503→nova tentativa→recuperação e exportações normais demonstradas. Faltam falhas dirigidas de geração Word/ZIP/PDF e retoma; teste interactivo de limite de anexo não ocorreu por bloqueio da ferramenta antes do envio. Nova leitura do código: três catch apresentam cause.message para Error, podendo mostrar texto técnico sem tradução. Sem nova falha de execução alegada. Ver saldo dos oito itens no manual existente; sem fecho global por esta reconciliação. | [Candidata21/10/2026] Concluído o recorte dirigido em QA: Word/PDF/ZIP falha única injectada→mensagem portuguesa→nova tentativa no mesmo botão. ZIP preserva título editado, secção desmarcada e anexo; arquivo real contém uma só cópia original/hash igual. Recusa16MB observada mantendo1anexo; nova selecção válida limpa erro e mantém1entrada. Guarda síncrona impede concorrência/duplicação; teste de falha de leitura preserva lista/legenda e permite retoma.4testes dirigidos passaram, TypeScript/build passaram. UI usa componente/geradores reais num invólucro QA sintético; a injecção e a omissão da impressão automática nesse ensaio não integram a entrega. Não repetidas10páginas/valores/CSV aceites. | [Limite conferido21/10/2026] c22003a3 ja definia15*1024*1024 bytes por anexo,10anexos/50MiB total;13f68f1b nao reduz esses limites. Teste16MiB=16777216bytes excede15MiB=15728640bytes. Limite2MiB de incorporacao textual distinto de aceitar original no ZIP. Origem: escolha tecnica preexistente, sem inferir aprovacao organizacional especifica. Entrega: melhorias de planeamento financeiro, recuperacao, exportacao e idioma; revisao antes de main. | [Delta QA 23/10/2026 sobre c3f7c3ad] QA: ETag fraco normalizado no cliente sem retry forcado ou bypass de concorrencia. Ver docs/investmoz/unification/traceability-and-manual.md. Homologacao permanece 7c1f5321; cobertura transversal parcial.",,20/10/2026,,,,,,,,,,,,,,
AUD-SIM-INT08,Portuguese across portal and simulator outputs,Tempo request 20/10/2026; integrated simulator review; same manual,simulator and shared language,,,QA only,"Partial QA fix: rate labels, password confirmation/security and spinner; wider inventory pending",Generic HTTP and fiscal-expression validation messages translated; status/correlation verified; selectable translations and source titles preserved,QA continuation verified; precise open inputs and cashflow visual check in same manual; 2-4 h remaining,,,P1,,,,,,,,,,,,,,,,,,diagnosis and targeted corrections,," | [Saldo consolidado21/10/2026] Parcial. Inventário estático,404 real e traduções de validação preservados. Classificar/apresentar em português os erros dinâmicos das bibliotecas de exportação (cause.message, três consumidores) e conferir estados residuais/governação delimitados; não certificar todos os textos dinâmicos do catálogo. Ver saldo dos oito itens no manual existente; sem fecho global por esta reconciliação. | [Candidata21/10/2026] Mensagens dinâmicas dos exportadores Word/ZIP/PDF/CSV e leitura de anexos usam texto português por operação, preservação e nova tentativa com referênciaEXP. Excepção original só na consola técnica local com referência/operação; sem telemetria nem auditoria remota novas. UI confirmou português nas3falhas de geração;4testes verificam separação mensagem/diagnóstico e correlação em5operações. Traduções/404/validações anteriores reutilizados. Fecho dos consumidores afectados, não certificação de todos os textos de catálogo ou nova sessão administrativa de governação.",,20/10/2026,,,,,,,,,,,,,,
diff --git a/resources/js/components/dossier-prefill.tsx b/resources/js/components/dossier-prefill.tsx
index 05594e3c..6b796049 100644
--- a/resources/js/components/dossier-prefill.tsx
+++ b/resources/js/components/dossier-prefill.tsx
@@ -8,6 +8,7 @@ import {
} from '@/lib/investor-context';
import { inheritCompatibleFields } from '@/lib/context-inheritance';
import OpportunityChoices from './investment-opportunity-choices';
+import { SelectedComplements } from './investment-complements';
type Props = {
contextId?: string | null;
consumer: 'simulator' | 'land' | 'desk' | 'submission';
@@ -145,6 +146,7 @@ export function DossierPrefill(props: Props) {
)}
{message &&
+ {if(onNavigate){event.preventDefault();onNavigate(prepare(item,offer));}}}>Seleccionar esta {offer.key.startsWith('opportunity:') ? 'oportunidade' : 'oferta'} para o dossier
+