InstallHub
Conflict Resolution Audit
Every conflict and its resolution is permanently recorded in the import audit log — what was replaced, merged, or skipped, who decided it, and when.
What is Recorded
For every import that involved conflicts, the audit record contains:
| Field | Description |
|---|---|
importId | The import event this conflict belongs to |
conflictId | Unique identifier for this specific conflict |
artifactType | Type of the conflicting artifact |
artifactName | Name of the conflicting artifact |
existingVersion | Version in the target tenant before the import |
packageVersion | Version in the package |
strategyApplied | Replace | Merge | Skip |
strategySource | Default (automatic) | PerArtifact (manual override) |
resolvedBy | User who chose the resolution (empty if automatic) |
resolvedAt | Timestamp of the resolution decision |
outcome | Applied | Skipped | Failed |
Querying Conflict Audit
GET /api/installhub/packages/{importId}/conflicts
Authorization: Bearer {token}
{
"importId": "imp-f9a2c1e8-...",
"conflictsDetected": 2,
"conflictsResolved": 2,
"conflicts": [
{
"conflictId": "conf-001",
"artifactType": "AtlasForm",
"artifactName": "EmployeeForm",
"existingVersion": "1.0.0",
"packageVersion": "1.3.0",
"strategyApplied": "Replace",
"strategySource": "Default",
"resolvedBy": null,
"resolvedAt": "2026-05-25T10:30:00Z",
"outcome": "Applied"
},
{
"conflictId": "conf-002",
"artifactType": "RuleSet",
"artifactName": "ApprovalRules",
"existingVersion": "1.1.0",
"packageVersion": "1.2.0",
"strategyApplied": "Merge",
"strategySource": "PerArtifact",
"resolvedBy": "engineer@company.com",
"resolvedAt": "2026-05-25T10:29:00Z",
"outcome": "Applied",
"mergeDetails": {
"fieldsUpdated": ["rules[0].condition"],
"fieldsAdded": ["rules[2]"],
"fieldsRemoved": []
}
}
]
}
Audit Immutability
Conflict audit records are immutable. They cannot be modified or deleted after the import completes. This ensures a reliable, tamper-evident change history for compliance and post-incident investigation.
Searching Audit by Artifact
// Find all imports that touched 'EmployeeForm':
GET /api/installhub/audit?tenantId={tenantId}&artifactName=EmployeeForm&artifactType=AtlasForm
{
"results": [
{
"importId": "imp-f9a2c1e8-...",
"importedAt": "2026-05-25T10:30:00Z",
"packageName": "Employee Onboarding Suite",
"packageVersion": "2.1.0",
"conflictId": "conf-001",
"strategyApplied": "Replace",
"previousVersion": "1.0.0",
"newVersion": "1.3.0"
}
]
}
Compliance Use Case
The conflict audit satisfies change management requirements: it records every modification to production artifacts, who authorized it, and when. This is sufficient for SOC 2 Type II change management controls.