feat(iace): Sprint 3B — Human Interaction Model
- 6 Standard-Rollen: operator, maintenance_tech, programmer, cleaning_staff, bystander, supervisor - HumanRoles []string Feld in HazardPattern, MatchInput, PatternMatch - patternMatches() filtert Patterns nach Rolle (nil = feuert fuer alle Rollen) - MatchReason um human_role Typ erweitert (Explainability) - 25 bestehende Patterns mit Rollen annotiert: - Cobot HP059/062/064 → operator/programmer - Maintenance HP700-714 → maintenance_tech/programmer - Operational HP070/073-078/080 → operator/maintenance_tech/programmer - Init + Parser Handler reichen Roles an MatchInput durch - 4 neue Tests: NilFiresAlways, MaintenanceTechFilter, ProgrammerTeachMode, RoleCount Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -104,6 +104,7 @@ func (h *IACEHandler) InitializeProject(c *gin.Context) {
|
||||
CustomTags: parseResult.CustomTags,
|
||||
OperationalStates: parseResult.OperationalStates,
|
||||
StateTransitions: parseResult.StateTransitions,
|
||||
HumanRoles: parseResult.Roles,
|
||||
})
|
||||
steps = append(steps, InitStep{
|
||||
Name: "Patterns abgeglichen",
|
||||
|
||||
@@ -75,6 +75,7 @@ func (h *IACEHandler) ParseNarrative(c *gin.Context) {
|
||||
CustomTags: parseResult.CustomTags,
|
||||
OperationalStates: parseResult.OperationalStates,
|
||||
StateTransitions: parseResult.StateTransitions,
|
||||
HumanRoles: parseResult.Roles,
|
||||
}
|
||||
matchOutput := engine.Match(matchInput)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user