Terraform enables you to safely and predictably create, change, and improve infrastructure. It is a source-available tool that codifies APIs into declarative configuration files that can be shared amongst team members, treated as code, edited, reviewed, and versioned.
This report summarizes scanner evidence for hashicorp/terraform, a Go project with 50,119 GitHub stars. SynthScan examined 778,323 lines of code across 4941 source files, recording 1498 pattern matches distributed across 13 syntactic categories. The legacy adjusted pattern signal is 2.4 (Low pattern signal); it is not an authorship estimate.
Use the findings to ask whether maintainers can explain intent, verify dependencies, simplify unnecessary scaffolding, and focus review effort. Risk Payload v1 adds ownership, supply-chain, over-engineering, and review-effort vectors when available. These are prompts for human verification, not probabilities, security findings, or measured maintenance costs.
Use each vector to guide manual verification of the underlying findings.
Payload schema: 1.0.0 · Engine: 2.0.0 · Scoring: heuristic-density-v1 · Scan date: 2026-10-31.
Can maintainers explain intent, assumptions, and trade-offs? 1419 finding(s).
Are imports declared and package/API names verified? 79 finding(s).
Are wrappers, guards, and repeated structures necessary? 2 finding(s).
Which changes need focused human review? 1498 finding(s).
This chart tracks the legacy adjusted pattern score across scan runs. Changes can reflect source changes, scan coverage, or detector/scoring versions; they do not measure AI adoption or prove that a team refactored code. Compare runs only when their scoring versions are compatible. The dashed line tracks the raw pattern-hit count.
Groups findings by configured severity weight. Severity is not a confidence estimate, security rating, or proof that a package is missing. Verify imports against the project's manifests and inspect each finding in its local design context.
This horizontal bar chart shows where configured pattern scores accumulate across directories. Treat the bars as locations to inspect, not as evidence of authorship or code quality. Use the file-level findings to decide whether a directory needs a focused ownership, dependency, complexity, or review check.
The scanner identified 1498 distinct pattern matches across 13 syntactic categories. Each entry below represents a discrete location in the source code where the engine recorded a detector match to inspect in context. Expand any category row to inspect the individual file paths, line numbers, code snippets, and the lexical context (CODE, COMMENT, or STRING) in which each match was detected.
Reading the findings table: The Severity column indicates the configured finding weight (CRITICAL / HIGH / MEDIUM / LOW). The Context column identifies whether the match occurred inside executable code, an inline comment, or a string literal — legacy comment-context matches receive a ×1.5 score weight. The ⚡ bolt icon marks clustered matches: three or more patterns within a 10-line window, each receiving an additional ×1.5 density multiplier under the legacy scoring model.
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | telemetry.go | 21 | // If this environment variable is set to "otlp" when running Terraform CLI | COMMENT |
| LOW | telemetry.go | 41 | // By default we don't export telemetry information at all, since Terraform is | COMMENT |
| LOW | provider_source.go | 81 | return getproviders.MultiSource(searchRules), diags | COMMENT |
| LOW | provider_source.go | 101 | // following e.g. the XDG base directory specification on Unix systems, | COMMENT |
| LOW | experiments.go | 1 | // Copyright IBM Corp. 2014, 2026 | COMMENT |
| LOW | main.go | 301 | // actually known. If not, we might be able to suggest an alternative | COMMENT |
| LOW | tools/loggraphdiff/loggraphdiff.go | 1 | // Copyright IBM Corp. 2014, 2026 | COMMENT |
| LOW | tools/protobuf-compile/protobuf-compile.go | 1 | // Copyright IBM Corp. 2014, 2026 | COMMENT |
| LOW | internal/terraform/context_apply_test.go | 2281 | if actual != expected { | COMMENT |
| LOW | internal/terraform/context_apply_test.go | 5641 | // if new, ok := rc.Get("foo"); ok { | COMMENT |
| LOW | internal/terraform/context_apply_test.go | 7241 | if len(mod.Resources) != 0 { | COMMENT |
| LOW | internal/terraform/context_import.go | 41 | // LegacyID stores the ID from the command line arguments when using the | COMMENT |
| LOW | internal/terraform/transform_reference.go | 21 | // | COMMENT |
| LOW | internal/terraform/transform_reference.go | 81 | // not yet expended in the graph. While this will cause some extra data | COMMENT |
| LOW | internal/terraform/transform_reference.go | 101 | // relative to the returned selfPath. | COMMENT |
| LOW | internal/terraform/config_graph_build_test.go | 261 | COMMENT | |
| LOW | internal/terraform/context_apply.go | 21 | "github.com/hashicorp/terraform/internal/tfdiags" | COMMENT |
| LOW | internal/terraform/context_apply.go | 41 | // values that were declared as ephemeral, because all other input | COMMENT |
| LOW | internal/terraform/context_apply.go | 61 | COMMENT | |
| LOW | internal/terraform/context_apply.go | 81 | AllowRootDeprecatedOutputs: po.AllowRootDeprecatedOutputs, | COMMENT |
| LOW | internal/terraform/node_resource_plan_instance.go | 121 | diags = diags.Append(planDiags) | COMMENT |
| LOW | internal/terraform/node_resource_plan_instance.go | 621 | // replacement, but we still overload forceReplace to get the correct | COMMENT |
| LOW | internal/terraform/node_resource_plan_instance.go | 801 | if n.Config == nil { | COMMENT |
| LOW | internal/terraform/evaluate_placeholder.go | 21 | // only what we know to be true for all possible final module instances | COMMENT |
| LOW | internal/terraform/evaluate_placeholder.go | 41 | Operation walkOperation | COMMENT |
| LOW | internal/terraform/evaluate_placeholder.go | 181 | COMMENT | |
| LOW | internal/terraform/node_module_variable.go | 121 | // Otherwise, we depend on anything referenced by our value expression. | COMMENT |
| LOW | internal/terraform/node_module_variable.go | 381 | // module instances under our partially-expanded prefix, and to record | COMMENT |
| LOW | internal/terraform/context_plan2_test.go | 861 | `}) | COMMENT |
| LOW | internal/terraform/context_plan2_test.go | 8121 | COMMENT | |
| LOW | internal/terraform/transform_variable_validation.go | 21 | dag.Vertex | COMMENT |
| LOW | internal/terraform/transform_variable_validation.go | 41 | } | COMMENT |
| LOW | internal/terraform/transform_targets.go | 61 | // this node. In case of resource nodes, action triggers are considered closely related | COMMENT |
| LOW | internal/terraform/context_eval.go | 21 | // ExternalProviders is a set of pre-configured provider instances with | COMMENT |
| LOW | internal/terraform/context_eval.go | 121 | // evalScopeFromGraphWalk takes a [ContextGraphWalker] that was already used | COMMENT |
| LOW | internal/terraform/node_resource_abstract_instance.go | 941 | // we're creating an entirely new object, but then turn it into | COMMENT |
| LOW | internal/terraform/node_resource_abstract_instance.go | 1201 | } | COMMENT |
| LOW | internal/terraform/node_resource_abstract_instance.go | 1841 | } | COMMENT |
| LOW | internal/terraform/node_resource_abstract_instance.go | 1861 | // of finishing during the plan are: | COMMENT |
| LOW | internal/terraform/node_resource_abstract_instance.go | 2041 | // If we are a nested block, then we want to create a plannedChange that | COMMENT |
| LOW | internal/terraform/node_resource_abstract_instance.go | 2821 | } | COMMENT |
| LOW | internal/terraform/node_resource_abstract_instance.go | 2861 | } | COMMENT |
| LOW | internal/terraform/node_resource_abstract_instance.go | 2881 | // root cause rather than distract with this extra problem. | COMMENT |
| LOW | internal/terraform/eval_variable.go | 141 | Summary: "Invalid value for input variable", | COMMENT |
| LOW | internal/terraform/eval_variable.go | 281 | // | COMMENT |
| LOW | internal/terraform/eval_variable.go | 341 | // Terraform would treat error messages specified using JSON | COMMENT |
| LOW | internal/terraform/context_apply2_test.go | 6441 | // The configuration takes precedence over a stored dependency which conflicts | COMMENT |
| LOW | internal/terraform/node_variable_validation.go | 21 | // A node of this type should always depend on another node that's responsible | COMMENT |
| LOW | internal/terraform/node_variable_validation.go | 61 | // this node contributes to the value for the input variable that it's | COMMENT |
| LOW | internal/terraform/context_input.go | 21 | // configurations. | COMMENT |
| LOW | internal/terraform/context_apply_policy_test.go | 2061 | // TestContext2Apply_PolicyPhaseSpanOutlivesEvaluations verifies that the | COMMENT |
| LOW | internal/terraform/transform_destroy_edge_test.go | 221 | } | COMMENT |
| LOW | internal/terraform/transform_destroy_edge_test.go | 301 | } | COMMENT |
| LOW | internal/terraform/transform_config.go | 21 | // action declarations from the configuration to the graph. | COMMENT |
| LOW | internal/terraform/transform_module_policy.go | 81 | return nil | COMMENT |
| LOW | internal/terraform/transform_module_policy.go | 101 | // input2 = module.child.output | COMMENT |
| LOW | internal/terraform/config_graph_module_test.go | 421 | // implied based on the resource type. For example, this resource: | COMMENT |
| LOW | internal/terraform/validate_selfref.go | 61 | // for_each) does not reference the resource it is attached to. The behaviour | COMMENT |
| LOW | internal/terraform/hook.go | 61 | // parts of Terraform, allowing you to inspect or change behavior at runtime. | COMMENT |
| LOW | internal/terraform/hook.go | 81 | // provisioning for a particular instance and of each of the individual | COMMENT |
| 1209 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | …urcebundle/foo/non-empty-stack/empty-module/nothing.tf | 1 | # This module is intentionally empty, since it's called from stack | COMMENT |
| MEDIUM | internal/depsfile/locks_file.go | 135 | Bytes: []byte("# This file is maintained automatically by \"terraform init\".\n"), | CODE |
| MEDIUM | internal/depsfile/locks_file_test.go | 248 | wantContent := `# This file is maintained automatically by "terraform init". | CODE |
| MEDIUM | internal/command/providers_lock_test.go | 45 | expected := `# This file is maintained automatically by "terraform init". | CODE |
| MEDIUM | internal/command/providers_lock_test.go | 61 | expected := `# This file is maintained automatically by "terraform init". | CODE |
| MEDIUM | internal/command/providers_lock_test.go | 78 | expected := `# This file is maintained automatically by "terraform init". | CODE |
| MEDIUM | internal/command/init_test.go | 2784 | expectedContent := `# This file is maintained automatically by "terraform init". | CODE |
| MEDIUM | internal/command/init_test.go | 3384 | # This file is maintained automatically by "terraform init". | COMMENT |
| MEDIUM | internal/command/init_test.go | 3411 | # This file is maintained automatically by "terraform init". | COMMENT |
| MEDIUM | internal/command/init_test.go | 3424 | # This file is maintained automatically by "terraform init". | COMMENT |
| MEDIUM | internal/command/init_test.go | 3437 | # This file is maintained automatically by "terraform init". | COMMENT |
| MEDIUM | internal/command/init_test.go | 3451 | # This file is maintained automatically by "terraform init". | COMMENT |
| MEDIUM | internal/command/state_migrate_test.go | 542 | expectedContents := `# This file is maintained automatically by "terraform init". | CODE |
| MEDIUM | internal/command/state_migrate_test.go | 568 | lockFileContents := `# This file is maintained automatically by "terraform init". | CODE |
| MEDIUM | internal/command/state_migrate_test.go | 793 | expectedContents := `# This file is maintained automatically by "terraform init". | CODE |
| MEDIUM | internal/command/state_migrate_test.go | 818 | lockFileContents := `# This file is maintained automatically by "terraform init". | CODE |
| MEDIUM | internal/command/state_migrate_test.go | 945 | lockFileContents := `# This file is maintained automatically by "terraform init". | CODE |
| MEDIUM | internal/command/state_migrate_test.go | 1168 | lockFileContents := `# This file is maintained automatically by "terraform init". | CODE |
| MEDIUM | internal/command/state_migrate_test.go | 1299 | lockFileContents := `# This file is maintained automatically by "terraform init". | CODE |
| MEDIUM | internal/command/state_migrate_test.go | 1322 | lockFileContents := `# This file is maintained automatically by "terraform init". | CODE |
| MEDIUM | …migrate-state-store-to-state-store/.terraform.lock.hcl | 1 | # This file is maintained automatically by "terraform init". | COMMENT |
| MEDIUM | …re-unchanged/dev-override-provider/.terraform.lock.hcl | 1 | # This file is maintained automatically by "terraform init". | COMMENT |
| MEDIUM | …nged/provider-managed-by-terraform/.terraform.lock.hcl | 1 | # This file is maintained automatically by "terraform init". | COMMENT |
| MEDIUM | …mand/testdata/plan-out-state-store/.terraform.lock.hcl | 1 | # This file is maintained automatically by "terraform init". | COMMENT |
| MEDIUM | …tdata/provider-schemas-state-store/.terraform.lock.hcl | 1 | # This file is maintained automatically by "terraform init". | COMMENT |
| MEDIUM | …ate-migrate-state-store-to-backend/.terraform.lock.hcl | 1 | # This file is maintained automatically by "terraform init". | COMMENT |
| MEDIUM | …tate-migrate-missing-migrate-files/.terraform.lock.hcl | 1 | # This file is maintained automatically by "terraform init". | COMMENT |
| MEDIUM | …ase/config-state-file-and-lockfile/.terraform.lock.hcl | 1 | # This file is maintained automatically by "terraform init". | COMMENT |
| MEDIUM | …oad-prerelease/state-and-lock-file/.terraform.lock.hcl | 1 | # This file is maintained automatically by "terraform init". | COMMENT |
| MEDIUM | …a/init-get-providers-with-lockfile/.terraform.lock.hcl | 1 | # This file is maintained automatically by "terraform init". | COMMENT |
| MEDIUM | …a/state-migrate-backend-to-backend/.terraform.lock.hcl | 1 | # This file is maintained automatically by "terraform init". | COMMENT |
| MEDIUM | …oad/config-state-file-and-lockfile/.terraform.lock.hcl | 1 | # This file is maintained automatically by "terraform init". | COMMENT |
| MEDIUM | …e-changed/provider-version-changed/.terraform.lock.hcl | 1 | # This file is maintained automatically by "terraform init". | COMMENT |
| MEDIUM | …/state-store-changed/provider-used/.terraform.lock.hcl | 1 | # This file is maintained automatically by "terraform init". | COMMENT |
| MEDIUM | …tate-store-changed/provider-config/.terraform.lock.hcl | 1 | # This file is maintained automatically by "terraform init". | COMMENT |
| MEDIUM | …ate-migrate-backend-to-state-store/.terraform.lock.hcl | 1 | # This file is maintained automatically by "terraform init". | COMMENT |
| MEDIUM | …stdata/state-push-state-store-good/.terraform.lock.hcl | 1 | # This file is maintained automatically by "terraform init". | COMMENT |
| MEDIUM | …data/state-migrate-empty-mod-files/.terraform.lock.hcl | 1 | # This file is maintained automatically by "terraform init". | COMMENT |
| MEDIUM | …and/testdata/providers-lock/append/.terraform.lock.hcl | 1 | # This file is maintained automatically by "terraform init". | COMMENT |
| MEDIUM | …ta/state-migrate-missing-mod-files/.terraform.lock.hcl | 1 | # This file is maintained automatically by "terraform init". | COMMENT |
| MEDIUM | internal/command/e2etest/init_test.go | 485 | expectedLockFileContent := fmt.Sprintf(`# This file is maintained automatically by "terraform init". | CODE |
| MEDIUM | internal/command/e2etest/provider_plugin_test.go | 242 | expectedLockFileContent := fmt.Sprintf(`# This file is maintained automatically by "terraform init". | CODE |
| MEDIUM | internal/command/e2etest/provider_plugin_test.go | 263 | priorLockFile := fmt.Sprintf(`# This file is maintained automatically by "terraform init". | CODE |
| MEDIUM | internal/command/e2etest/provider_plugin_test.go | 319 | priorLockFile := fmt.Sprintf(`# This file is maintained automatically by "terraform init". | CODE |
| MEDIUM | internal/command/e2etest/provider_plugin_test.go | 369 | expectedLockFileContent := fmt.Sprintf(`# This file is maintained automatically by "terraform init". | CODE |
| MEDIUM | internal/command/e2etest/provider_plugin_test.go | 513 | expectedLockFileContent := fmt.Sprintf(`# This file is maintained automatically by "terraform init". | CODE |
| MEDIUM | internal/command/e2etest/provider_plugin_test.go | 533 | priorLockFile := fmt.Sprintf(`# This file is maintained automatically by "terraform init". | CODE |
| MEDIUM | internal/command/e2etest/provider_plugin_test.go | 588 | priorLockFile := fmt.Sprintf(`# This file is maintained automatically by "terraform init". | CODE |
| MEDIUM | internal/command/e2etest/provider_plugin_test.go | 637 | expectedLockFileContent := fmt.Sprintf(`# This file is maintained automatically by "terraform init". | CODE |
| MEDIUM | …t/testdata/state-migrate-upgrade-2/.terraform.lock.hcl | 1 | # This file is maintained automatically by "terraform init". | COMMENT |
| MEDIUM | …rectory-with-state-store-unmanaged/.terraform.lock.hcl | 1 | # This file is maintained automatically by "terraform init". | COMMENT |
| MEDIUM | …iders-mirror-with-broken-lock-file/.terraform.lock.hcl | 1 | # This file is maintained automatically by "terraform init". | COMMENT |
| MEDIUM | …rm-providers-mirror-with-lock-file/.terraform.lock.hcl | 1 | # This file is maintained automatically by "terraform init". | COMMENT |
| MEDIUM | …est/testdata/state-migrate-upgrade/.terraform.lock.hcl | 1 | # This file is maintained automatically by "terraform init". | COMMENT |
| MEDIUM | …ized-directory-with-state-store-fs/.terraform.lock.hcl | 1 | # This file is maintained automatically by "terraform init". | COMMENT |
| MEDIUM | …ests/tests/moved_with_refresh_only/.terraform.lock.hcl | 1 | # This file is maintained automatically by "terraform init". | COMMENT |
| MEDIUM | …sts/tests/basic_json_string_update/.terraform.lock.hcl | 1 | # This file is maintained automatically by "terraform init". | COMMENT |
| MEDIUM | …ence-tests/tests/moved_with_update/.terraform.lock.hcl | 1 | # This file is maintained automatically by "terraform init". | COMMENT |
| MEDIUM | …nce-tests/tests/replace_within_set/.terraform.lock.hcl | 1 | # This file is maintained automatically by "terraform init". | COMMENT |
| MEDIUM | …uivalence-tests/tests/drift_simple/.terraform.lock.hcl | 1 | # This file is maintained automatically by "terraform init". | COMMENT |
| 16 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| CRITICAL | …time/internal/stackeval/removed_stack_call_instance.go | 69 | validateStackCallInstanceInputsFn(r.Stack(ctx, phase), r.call.config.config.Inputs, r.call.config.config.DeclRange.ToH | CODE |
| CRITICAL | …/stackruntime/internal/stackeval/component_instance.go | 715 | return c.call.config.config.DeclRange.ToHCL().Ptr() | CODE |
| CRITICAL | …ternal/stacks/stackruntime/internal/stackeval/stack.go | 643 | Detail: fmt.Sprintf("The `from` attribute resolved to component instance %s, which is already claimed by another | CODE |
| CRITICAL | …ternal/stacks/stackruntime/internal/stackeval/stack.go | 644 | Subject: inst.call.config.config.DeclRange.ToHCL().Ptr(), | CODE |
| CRITICAL | …ternal/stacks/stackruntime/internal/stackeval/stack.go | 666 | Detail: fmt.Sprintf("The `from` attribute resolved to stack instance %s, which is already claimed by another rem | CODE |
| CRITICAL | …ternal/stacks/stackruntime/internal/stackeval/stack.go | 667 | Subject: inst.call.config.config.DeclRange.ToHCL().Ptr(), | CODE |
| CRITICAL | …ntime/internal/stackeval/removed_component_instance.go | 332 | return r.call.config.config.DeclRange.ToHCL().Ptr() | CODE |
| CRITICAL | …cks/stackruntime/internal/stackeval/provider_config.go | 134 | versionConstraints, _ := p.stack.config.Stack.RequiredProviders.VersionConstraintsForProvider(providerType.Addr()) | CODE |
| CRITICAL | …stackruntime/internal/stackeval/stack_call_instance.go | 117 | validateStackCallInstanceInputsFn(c.Stack(ctx, phase), c.call.config.config.Inputs, c.call.config.config.DeclRange.ToH | CODE |
| CRITICAL | …/stackruntime/internal/stackeval/removed_stack_call.go | 141 | Subject: rsc.call.config.config.DeclRange.ToHCL().Ptr(), | CODE |
| CRITICAL | internal/command/jsonplan/values.go | 193 | r.Addr.Resource.Resource.Mode.String(), | CODE |
| CRITICAL | internal/moduletest/graph/node_test_run_cleanup.go | 93 | Subject: n.run.Config.Backend.DeclRange.Ptr(), | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | internal/terraform/eval_variable.go | 38 | // but we'll check it here too to be robust. | COMMENT |
| MEDIUM | internal/terraform/eval_variable_test.go | 104 | // metadata is stripped from empty default collections. Essentially, you | COMMENT |
| MEDIUM | internal/terraform/context.go | 506 | return // should not happen, but we'll be robust | CODE |
| MEDIUM | internal/terraform/context.go | 510 | continue // should not happen, but we'll be robust | CODE |
| MEDIUM | internal/terraform/context_apply_checks_test.go | 752 | // Essentially we make a check block in a child module that depends on a | COMMENT |
| MEDIUM | internal/terraform/evaluate.go | 664 | // TODO: When deferred actions are more stable and robust in stacks, it | COMMENT |
| MEDIUM | internal/stacks/stackconfig/parser/walker.go | 52 | // we'll be robust about it nonetheless. | COMMENT |
| MEDIUM | …acks/stackruntime/internal/stackeval/terraform_hook.go | 133 | // Weird, but we'll just tolerate it to be robust. | COMMENT |
| MEDIUM | …s/stackruntime/internal/stackeval/removed_component.go | 78 | // Essentially, a removed block can target components across multiple stack | COMMENT |
| MEDIUM | …l/stacks/stackruntime/internal/stackeval/main_apply.go | 47 | // it anyway just to be robust in case there's a bug further up | COMMENT |
| MEDIUM | internal/repl/session.go | 176 | // but we'll be robust here and just pass through the GoString | COMMENT |
| MEDIUM | internal/lang/functions.go | 339 | // robust. | COMMENT |
| MEDIUM | internal/lang/blocktoattr/fixup.go | 34 | // in the presence of poorly-configured test mocks, so we'll be robust | COMMENT |
| MEDIUM | internal/lang/globalref/analyzer_meta_references.go | 364 | // for all of the relative traversal types, but we'll be robust in | COMMENT |
| MEDIUM | internal/lang/funcs/datetime.go | 138 | // be robust here. | COMMENT |
| MEDIUM | internal/configs/experiments.go | 167 | // to return any other error type, but we'll handle it to be robust. | COMMENT |
| MEDIUM | internal/configs/configschema/validate_traversal.go | 69 | // but we'll handle this with a generic error anyway to be robust. | COMMENT |
| MEDIUM | internal/configs/configschema/empty_value.go | 59 | // but we'll be robust and return a result nonetheless. | COMMENT |
| MEDIUM | internal/configs/configload/loader_snapshot.go | 234 | // This function doesn't try to be incredibly robust in supporting | COMMENT |
| MEDIUM | internal/states/state_test.go | 357 | // happen" case but we'll test to make sure we're robust to | COMMENT |
| MEDIUM | internal/states/statemgr/filesystem.go | 127 | // TODO: this should use a more robust method of writing state, by first | COMMENT |
| MEDIUM | internal/states/statemgr/persistent.go | 83 | // Some implementations may optionally utilize config schema to persist | COMMENT |
| MEDIUM | internal/command/meta_providers.go | 162 | // unit tests might not always populate Meta fully and so we'll be robust | COMMENT |
| MEDIUM | internal/command/cliconfig/cliconfig.go | 383 | // improve on this later using the more-robust merging behavior | COMMENT |
| MEDIUM | internal/command/views/hook_ui.go | 123 | // bug in the caller but we'll ignore it in order to be robust. | COMMENT |
| MEDIUM | internal/command/views/hook_ui.go | 451 | // bug in the caller but we'll ignore it in order to be robust. | COMMENT |
| MEDIUM | internal/command/clistate/local_state.go | 64 | // TODO: this should use a more robust method of writing state, by first | COMMENT |
| MEDIUM | …tdata/move-statement-implied/move-statement-implied.tf | 1 | # This fixture is useful only in conjunction with a previous run state that | COMMENT |
| MEDIUM | …move-statement-implied/child/move-statement-implied.tf | 1 | # This fixture is useful only in conjunction with a previous run state that | COMMENT |
| MEDIUM | internal/moduletest/status.go | 33 | // Essentially, if a test suite has a bunch of failures and passes the overall | COMMENT |
| MEDIUM | internal/moduletest/mocking/fill.go | 75 | // directly to it or to any nested objects. Essentially, this is a "safe" | COMMENT |
| MEDIUM | internal/moduletest/mocking/values.go | 88 | // the validation, but we want this function to be robust and not panic | COMMENT |
| MEDIUM | internal/moduletest/mocking/values.go | 113 | // This transform should be robust (in that it should never fail), the | COMMENT |
| MEDIUM | internal/moduletest/mocking/values.go | 114 | // inner call to generateValue should be robust as well so it should always | COMMENT |
| MEDIUM | internal/moduletest/mocking/values.go | 139 | // gave us. getMockedDataForPath is robust, so even in an error it | COMMENT |
| MEDIUM | internal/moduletest/mocking/values.go | 142 | // Now get the replacement value. This function should be robust in | COMMENT |
| LOW | scripts/changelog-links.sh | 10 | # released items are presented as clickable links, but we can just use the | COMMENT |
| MEDIUM | .github/workflows/build.yml | 208 | # environment variables defined above. The e2e test harness | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | main_test.go | 147 | t.Setenv("OTHER_ENV", "placeholder") | CODE |
| LOW | internal/terraform/context_apply2_test.go | 3410 | resource "test_thing" "placeholder" { | CODE |
| LOW | internal/stacks/stackruntime/plan_test.go | 6690 | "email": cty.StringVal("user@example.com"), | CODE |
| LOW | internal/stacks/stackruntime/plan_test.go | 6712 | "email": cty.StringVal("user@example.com"), | CODE |
| LOW | internal/stacks/stackruntime/plan_test.go | 6723 | "email": cty.StringVal("user@example.com"), | CODE |
| LOW | internal/stacks/stackruntime/plan_test.go | 6734 | "email": cty.StringVal("user@example.com"), | CODE |
| LOW | internal/stacks/stackruntime/plan_test.go | 6745 | "email": cty.StringVal("user@example.com"), | CODE |
| LOW | internal/stacks/stackruntime/plan_test.go | 6756 | "email": cty.StringVal("user@example.com"), | CODE |
| LOW | internal/stacks/stackruntime/plan_test.go | 6767 | "email": cty.StringVal("user@example.com"), | CODE |
| LOW | internal/plugin6/grpc_provider_test.go | 3272 | data := []byte("Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod" + | CODE |
| LOW | internal/plugin6/grpc_provider_test.go | 3272 | data := []byte("Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod" + | CODE |
| LOW | internal/backend/remote/testdata/plan-long-line/main.tf | 3 | long_line = "[{'_id':'5c5ab0ed7de45e993ffb9eeb','index':0,'guid':'e734d772-6b5a-4cb0-805c-91cd5e560e20','isActive':f | CODE |
| LOW | internal/cloud/state_test.go | 321 | Token: "placeholder", | CODE |
| LOW | internal/cloud/testing.go | 339 | Token: "fake-token", | CODE |
| LOW | internal/cloud/testdata/plan-long-line/main.tf | 3 | long_line = "[{'_id':'5c5ab0ed7de45e993ffb9eeb','index':0,'guid':'e734d772-6b5a-4cb0-805c-91cd5e560e20','isActive':f | CODE |
| LOW | internal/states/statemgr/statemgr_fake.go | 89 | return "placeholder", nil | CODE |
| LOW | internal/states/statemgr/statemgr_fake.go | 99 | if id != "placeholder" { | CODE |
| LOW | internal/states/statemgr/statemgr_fake.go | 140 | return "placeholder", nil | CODE |
| LOW | internal/command/apply_test.go | 1500 | planPath := applyFixturePlanFileWithVariableValue(t, "lorem ipsum") | CODE |
| LOW | internal/command/graph_test.go | 332 | Type: "placeholder", | CODE |
| LOW | internal/command/show_test.go | 1558 | idVal = cty.StringVal("placeholder") | CODE |
| LOW | internal/command/show_test.go | 1594 | idVal = cty.StringVal("placeholder") | CODE |
| LOW | internal/command/testdata/login-oauth-server/main.go | 65 | client = "placeholder" | CODE |
| LOW | internal/command/testdata/show-json/drift/output.json | 17 | "id": "placeholder" | CODE |
| LOW | internal/command/testdata/show-json/drift/output.json | 30 | "id": "placeholder" | CODE |
| LOW | internal/command/testdata/show-json/drift/output.json | 50 | "id": "placeholder" | CODE |
| LOW | internal/command/testdata/show-json/drift/output.json | 54 | "id": "placeholder" | CODE |
| LOW | internal/command/testdata/show-json/drift/output.json | 75 | "id": "placeholder" | CODE |
| LOW | internal/command/testdata/show-json/drift/output.json | 79 | "id": "placeholder" | CODE |
| LOW | internal/command/testdata/show-json/drift/output.json | 98 | "id": "placeholder" | CODE |
| LOW | internal/command/testdata/show-json/drift/output.json | 102 | "id": "placeholder" | CODE |
| LOW | internal/command/testdata/show-json/drift/output.json | 124 | "id": "placeholder" | CODE |
| LOW | internal/command/testdata/show-json/drift/output.json | 137 | "id": "placeholder" | CODE |
| LOW | internal/command/testdata/show-json/moved/output.json | 17 | "id": "placeholder" | CODE |
| LOW | internal/command/testdata/show-json/moved/output.json | 38 | "id": "placeholder" | CODE |
| LOW | internal/command/testdata/show-json/moved/output.json | 42 | "id": "placeholder" | CODE |
| LOW | internal/command/testdata/show-json/moved/output.json | 64 | "id": "placeholder" | CODE |
| LOW | …nal/command/testdata/show-json/moved-drift/output.json | 17 | "id": "placeholder" | CODE |
| LOW | …nal/command/testdata/show-json/moved-drift/output.json | 30 | "id": "placeholder" | CODE |
| LOW | …nal/command/testdata/show-json/moved-drift/output.json | 51 | "id": "placeholder" | CODE |
| LOW | …nal/command/testdata/show-json/moved-drift/output.json | 55 | "id": "placeholder" | CODE |
| LOW | …nal/command/testdata/show-json/moved-drift/output.json | 76 | "id": "placeholder" | CODE |
| LOW | …nal/command/testdata/show-json/moved-drift/output.json | 80 | "id": "placeholder" | CODE |
| LOW | …nal/command/testdata/show-json/moved-drift/output.json | 100 | "id": "placeholder" | CODE |
| LOW | …nal/command/testdata/show-json/moved-drift/output.json | 104 | "id": "placeholder" | CODE |
| LOW | …nal/command/testdata/show-json/moved-drift/output.json | 126 | "id": "placeholder" | CODE |
| LOW | …nal/command/testdata/show-json/moved-drift/output.json | 139 | "id": "placeholder" | CODE |
| LOW | …testdata/show-json/conditions/output-refresh-only.json | 19 | "value": "placeholder" | CODE |
| LOW | …testdata/show-json/conditions/output-refresh-only.json | 30 | "after": "placeholder", | CODE |
| LOW | …testdata/show-json/conditions/output-refresh-only.json | 43 | "value": "placeholder", | CODE |
| LOW | …testdata/show-json/conditions/output-refresh-only.json | 74 | "id": "placeholder", | CODE |
| LOW | …al/command/testdata/show-json/basic-update/output.json | 29 | "id": "placeholder" | CODE |
| LOW | …al/command/testdata/show-json/basic-update/output.json | 49 | "id": "placeholder" | CODE |
| LOW | …al/command/testdata/show-json/basic-update/output.json | 53 | "id": "placeholder" | CODE |
| LOW | …al/command/testdata/show-json/basic-update/output.json | 94 | "id": "placeholder" | CODE |
| LOW | …al/command/testdata/show-json/basic-delete/output.json | 29 | "id": "placeholder" | CODE |
| LOW | …al/command/testdata/show-json/basic-delete/output.json | 49 | "id": "placeholder" | CODE |
| LOW | …al/command/testdata/show-json/basic-delete/output.json | 53 | "id": "placeholder" | CODE |
| LOW | …al/command/testdata/show-json/basic-delete/output.json | 73 | "id": "placeholder" | CODE |
| LOW | …al/command/testdata/show-json/basic-delete/output.json | 115 | "id": "placeholder" | CODE |
| 7 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | internal/resources/ephemeral/ephemeral_resource_test.go | 88 | // and at least one additional time as requested by the instance. | COMMENT |
| HIGH | internal/configs/parser.go | 96 | // have been loaded through this parser, with source filenames (as requested | COMMENT |
| HIGH | internal/command/jsonformat/plan.go | 566 | buf.WriteString(fmt.Sprintf("[bold] # %s[reset] will be [bold][red]replaced[reset], as requested", dispAddr)) | CODE |
| HIGH | internal/command/jsonformat/plan_test.go | 6786 | ExpectedOutput: ` # test_instance.example will be replaced, as requested | CODE |
| HIGH | internal/command/jsonformat/plan_test.go | 6797 | ExpectedOutput: ` # test_instance.example will be replaced, as requested | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | internal/terraform/context_apply_test.go | 2757 | // Step 1: create the resources and instances | COMMENT |
| LOW | internal/terraform/context_apply_test.go | 2792 | // Step 2: update with an empty config, to destroy everything | COMMENT |
| LOW | internal/providercache/installer.go | 212 | // Step 1: Which providers might we need to fetch a new version of? | COMMENT |
| LOW | internal/providercache/installer.go | 293 | // Step 2: Query the provider source for each of the providers we selected | COMMENT |
| LOW | internal/providercache/installer.go | 354 | // Step 3: For each provider version we've decided we need to install, | COMMENT |
| LOW | internal/command/workspace_command_test.go | 1557 | // Step 1 - test list output with no diagnostics | COMMENT |
| LOW | internal/command/workspace_command_test.go | 1597 | // Step 2 - test list output with a warning diagnostics | COMMENT |
| LOW | internal/command/workspace_command_test.go | 1656 | // Step 3 - test that error diagnostics are shown in isolation (no additional output even if present) | COMMENT |
| LOW | internal/tfdiags/diagnostic_extra.go | 319 | // NOTE: This function should be kept in sync with the extra interfaces defined | COMMENT |
| LOW | scripts/goimportscheck.sh | 37 | # NOTE: The above intentionally excludes .pb.go files because those are | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | internal/terraform/context_plugins_test.go | 24 | // so the caller can feel free to modify the returned value to further | COMMENT |
| MEDIUM | internal/terraform/context_plugins_test.go | 60 | // callers can feel free to modify it once returned. | COMMENT |
| MEDIUM | internal/command/testdata/fmt/general_out.tf | 3 | # here, but you can also add other _in.tf/_out.tf pairs in the | COMMENT |
| MEDIUM | internal/command/testdata/fmt/general_in.tf | 3 | # here, but you can also add other _in.tf/_out.tf pairs in the | COMMENT |
| LOW | .github/workflows/enforce-changelog.yml | 1 | # This workflow makes sure contributors don't forget to add a changelog entry or explicitly opt-out of it. | COMMENT |
| LOW | .github/workflows/enforce-changelog.yml | 1 | # This workflow makes sure contributors don't forget to add a changelog entry or explicitly opt-out of it. | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | internal/terraform/context_apply_test.go | 2757 | // Step 1: create the resources and instances | COMMENT |
| LOW | internal/terraform/context_apply_test.go | 2792 | // Step 2: update with an empty config, to destroy everything | COMMENT |
| LOW | internal/providercache/installer.go | 212 | // Step 1: Which providers might we need to fetch a new version of? | COMMENT |
| LOW | internal/providercache/installer.go | 293 | // Step 2: Query the provider source for each of the providers we selected | COMMENT |
| LOW | internal/providercache/installer.go | 354 | // Step 3: For each provider version we've decided we need to install, | COMMENT |
| LOW | internal/dag/walk.go | 319 | // Dependencies satisfied! We need to check if any errored | COMMENT |
| LOW | scripts/changelog.sh | 94 | # We need to check if this is the first RC of the version | COMMENT |
| LOW | scripts/changelog.sh | 105 | # We need to check if this is the first RC of the version | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | internal/stacks/stackplan/planned_change_test.go | 1088 | // TODO: Add test for "action invocation invoke trigger" when implementing | COMMENT |
| LOW | internal/command/arguments/metadata_functions.go | 37 | // TODO: Add validation of unexpected arguments in future major version. | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | scripts/changelog.sh | 56 | # Check if we already released this version already | COMMENT |
| LOW | scripts/changelog.sh | 188 | # Check if yq is installed | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | internal/command/jsonformat/differ/attribute.go | 88 | // function computeChangeForDynamicValues(), but external callers will | COMMENT |
| LOW | .github/workflows/enforce-changelog.yml | 63 | async function createOrUpdateChangelogComment(commentDetails, deleteComment) { | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | internal/tfdiags/compare.go | 13 | // Example usage: | COMMENT |