Files
KArtSell.Aegis/frontend/src/features/sell-decision/components/PolicyTracePanel.vue.js
T
kjh2064 3b76070394 PR 6: Database migration validation - fresh/upgrade test complete
 Database Setup:
- Created PostgreSQL kartselldb with kartsell user
- SSH port forward established (localhost:5432 → 178.104.200.7:5432)

 DbMigrator Fixes:
- Fixed migration path discovery (AppContext.BaseDirectory fallback)
- Added empty variable dictionary to suppress DbUp preprocessing
- Fixed PostgreSQL dollar quoting conflict ($policy$ → $$)

 Migration Results:
- All 21 migrations executed successfully
- Schema versions journal created and tracked
- 21 scripts processed in order, no rollback needed

Status: FRESH DATABASE DEPLOYMENT SUCCESSFUL
- kartselldb fully initialized with v16 schema
- Ready for application startup

Next: Deploy application and run integration tests

Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
2026-08-02 06:45:20 +09:00

49 lines
1.7 KiB
JavaScript

import { computed } from 'vue';
const props = defineProps();
const dispositionLabel = { 0: 'NOT_APPLICABLE', 1: 'BLOCKED', 2: 'APPLIED' };
const ordered = computed(() => [...props.entries].sort((a, b) => b.priority - a.priority));
const __VLS_ctx = {
...{},
...{},
...{},
...{},
};
let __VLS_components;
let __VLS_intrinsics;
let __VLS_directives;
__VLS_asFunctionalElement1(__VLS_intrinsics.section, __VLS_intrinsics.section)({
'aria-labelledby': "policy-trace-title",
});
__VLS_asFunctionalElement1(__VLS_intrinsics.h2, __VLS_intrinsics.h2)({
id: "policy-trace-title",
});
__VLS_asFunctionalElement1(__VLS_intrinsics.p, __VLS_intrinsics.p)({});
(props.schemaVersion);
__VLS_asFunctionalElement1(__VLS_intrinsics.ol, __VLS_intrinsics.ol)({});
for (const [entry] of __VLS_vFor((__VLS_ctx.ordered))) {
__VLS_asFunctionalElement1(__VLS_intrinsics.li, __VLS_intrinsics.li)({
key: (`${entry.priority}-${entry.policyId}`),
});
__VLS_asFunctionalElement1(__VLS_intrinsics.strong, __VLS_intrinsics.strong)({});
(entry.policyId);
__VLS_asFunctionalElement1(__VLS_intrinsics.span, __VLS_intrinsics.span)({});
(__VLS_ctx.dispositionLabel[entry.disposition]);
(entry.reasonCode);
if (entry.requestedSellRatioOfLot > 0) {
__VLS_asFunctionalElement1(__VLS_intrinsics.span, __VLS_intrinsics.span)({});
(entry.requestedSellRatioOfLot);
(entry.appliedSellRatioOfLot);
}
if (entry.strategicCoreClampApplied) {
__VLS_asFunctionalElement1(__VLS_intrinsics.span, __VLS_intrinsics.span)({});
}
// @ts-ignore
[ordered, dispositionLabel,];
}
// @ts-ignore
[];
const __VLS_export = (await import('vue')).defineComponent({
__typeProps: {},
});
export default {};