mirror of
https://github.com/PR0M3TH3AN/TORCH.git
synced 2026-11-05 12:21:56 +00:00
refactor(governance): optimize applyProposal to reuse proposal object in validation
Updates `validateProposal` to accept either a proposal ID or a proposal object. Updates `applyProposal` to pass the already-fetched proposal object to `validateProposal`, eliminating a redundant file system read. This improves efficiency and code health. Tests were verified to ensure no regression. Co-authored-by: PR0M3TH3AN <[email protected]>
This commit is contained in:
1 parent
2b8a0c3d0d
commit
258da844a6
2 files changed
+9
-11
No files matched your search
@@ -132,8 +132,14 @@ export async function createProposal({ agent, target, newContent, reason }) {
|
||||
return { id, diff };
|
||||
}
|
||||
|
||||
export async function validateProposal(id) {
|
||||
const { meta, newContent } = await getProposal(id);
|
||||
export async function validateProposal(proposalOrId) {
|
||||
let proposal;
|
||||
if (typeof proposalOrId === 'string') {
|
||||
proposal = await getProposal(proposalOrId);
|
||||
} else {
|
||||
proposal = proposalOrId;
|
||||
}
|
||||
const { meta, newContent } = proposal;
|
||||
|
||||
// 1. Allowlist check (redundant but safe)
|
||||
const { isAllowed } = resolveAndValidateTarget(meta.target);
|
||||
@@ -165,7 +171,7 @@ export async function applyProposal(id) {
|
||||
throw new Error(`Proposal is ${meta.status}, cannot apply.`);
|
||||
}
|
||||
|
||||
const validation = await validateProposal(id);
|
||||
const validation = await validateProposal(proposal);
|
||||
if (!validation.valid) {
|
||||
// Mark as rejected if validation fails?
|
||||
// Or just throw? The governance agent should decide.
|
||||
|
||||
@@ -1,8 +0,0 @@
|
||||
{
|
||||
"dashboard": {
|
||||
"auth": "admin:password123",
|
||||
"relays": [
|
||||
"wss://secure.relay.com"
|
||||
]
|
||||
}
|
||||
}
|
||||
Reference in new issue
Block a user