Spjimr / workbench_grounded_theory /node_pattern_confirmation.py
Viske's picture
Fix deployment: defer agent load, add missing workbench packages and credentials
9ebfd41
Raw
History Blame Contribute Delete
1.94 kB
# ============================================================================
# node_pattern_confirmation.py — Step 3 of Nelson's framework (PLACEHOLDER)
# ============================================================================
#
# PURPOSE (from Nelson 2020)
# --------------------------
# "The pattern confirmation step assesses the inductively identified
# patterns using further computational and natural language processing
# techniques."
#
# Traditional grounded theory mapping: SELECTIVE CODING — the researcher
# validates the coded categories against held-out data, typically by
# training a supervised classifier on the refined labels and testing
# whether it generalizes.
#
# STATUS
# ------
# This is a PLACEHOLDER. When built, this node will:
# 1. Read state.refinement_result (the researcher-refined labels)
# 2. Train a classifier on 80% of the refined data (using the existing
# training.train_classifier function)
# 3. Evaluate on the held-out 20%
# 4. Report accuracy, per-class precision/recall, and confusion matrix
# 5. Write results to state.confirmation_result
#
# Cannot be built until Step 2 (Pattern Refinement) is real, because this
# step needs refined labels as input.
# ============================================================================
def pattern_confirmation_node(state):
iteration = state.get("iteration", 0)
return {
"confirmation_result": {
"status": "placeholder",
"note": (
"Step 3 of Nelson's framework (selective coding / Pattern "
"Confirmation) is not yet implemented. Blocked on Step 2 "
"which produces the refined labels this step validates."
),
},
"steps": [{
"step": iteration,
"node": "pattern_confirmation",
"action": "placeholder",
"detail": "Step 3 not yet implemented",
}],
}